Skip to content
GwiyeomGo Tech Blog
About GwiyeomGo

ETC network

ETC11 min read

tcp ip
2층 이더넷
mac 어드레스는 램카드
램카드 3개 있음 => mac 어드레스 3개
3층 인터넷 프로토콜 ip 주소 -> host 식별
4층 tcp,udp -> 식별자 port 번호 => 프로세스 네트워크서비스 인터페이스 등등..식별

dod

app host to host interntet network acess

  • host ? 네트쿼크에 연결된 컴퓨터
  1. end point 네트워크 이용 주체 (단말) => client,server,peer(p2p통)

  2. switch : 네트워크 그 자체를 이루는 host (인프라스트럭처) => router,ips,tab agreation switch

    컴퓨터인데 네트워크에 연결된 컴퓨터 = host 호스트 인네 네트워크 자체 호스트(인프라)= 스위치 (그 인프라) 이용주체 = 엔드포인트(단말기)

  • 스위치가 하는 일

네트워크 => 고속도로 교차로 선택의 근거 => 이정표

교차로 자체가 스위치! 인터페이스를 선택하는 것 = 스위칭 = 경로선택 이떄 ip 주소로 스위칭을 했다면 l3 스위칭

자동차 = 단위 = 패킷 (인터넷을 돌아다니다 스위치를 만나는데 이때 l3 스위치 가 라우터 = 교차) 라우터마다 이정표가 있는데 이것이 ₩라우팅 테이블₩

멕주소로 스위치하면 l2 스위칭 포트번호로 스위치하면 l4 스위칭

매트릭 값 = 비용 비용이 낮은 쪽으로 이동을 함

  • nic + l2 frame + lan card + mac

nic = 네트워크 인터페이스 카드 = lan 카드 nic 은 하드웨어이며 mac 주소를 갖음

컴퓨터하나가 여러개를 갖을 수 있다

l2 유통 단위(데이터) frame

  • l2 Access switch
|
pc --|
|___ ...distribution스위치( Access switch 위한 스위치) _____ [R(라우터)]
|
pc --|
  • LAN 과 WAN 의 경계 그리고 Broadcast (방송)(효율 떨어뜨) , unicast 브로드케스트 최소로 해야햐 브로드케스트 = 범위 브로드케스트 주소가 존재한다 mac 어드레스가 49비트가 모두 1 로 된 경우 브로드케스트

lan 에서 보내는 데이터의 단위는 frame frame 에 해더에 주소가 있음 =>

l2 까지는 물리적 로지컬 네트워크는 => 논리적 (실체 없음) vitual 가상..

cpu 를 소프트웨어로 machine 소프트웨어 가상이니 virtual machine

네트워크 가장 작은 범위 lan 인터넷 = wan => 논리적인 네트워크

  • ipv4

ip 는 호스트의 식별자

ipconfig = 네트워크 id + host id

  • l3 ip packet 으로 외워

패킷 = 단위 데이터

header 와 payload 로 나뉜다

(중요)최대크기 MTU => 1500 bytes

패킷 등 와이어샤크로 볼 수 있음

네트워크에 돌아다니는 패킷을 분석할 수 있고 망의 효율을 개선 할 때 쓴다 (와이어샤크)

  • encapsulation vs decapsulation 러시아 전통 목각 인형인 마트료시카 인형... 패킷하면 이 단어가 따라다님..

l2 frame [l2 header|payload[l3 header|payload[l4 | payload ]]]

  • 패킷의 생성, 전달,소멸

보내는사람,받는사람 :프로세스 책 : 정보 택배 : 패킷 택배기사 : 게이트웨이 택배기사님 모아서 택배 분류 : 라우팅 현관 : 인터페이스 송장의 목적지 주소(집) : host 송장의 이름 : port 번호

소켓? 파일의 일종

  • 계층별 데이터 단위

크롬브라우저가 인터넷으로 정보를 보내려면 socket 을 사용 이때 데이터의 단위를 살펴보면

[socket : 스트림] (시작은 있지만 끝은 정의할 수 없음,연속적으로 이어진 크기를 알 수 없는 정)
과정에서 스트림이라는 연속적인 데이터를 <맥시멈 세그먼트 사이즈 mss> 로 분해
-----
[tcp: 세그먼트]
[ip : 패킷] mtu
-----
[l1~l2 : 프레임]
  • 파리에서 에펠탑을 택배로 보내려면 어떻게? 인터넷에서느 패킷(mtu) 정보 공유...

버퍼..

택배차 : frame

ack ? 애크날리지먼트 ack 가 갈때 여유공간에 크기도 같이 감

tcp/ip 네트워크는 생각보다 불안정해 장애가 발생한다 1.loss (유실) 등 발생 2. re trans misision (동시 발송..) 3.ack 중복.. 4. out of order... 순서가 잘못된 경우.. 5. zero window 윈도우사이즈 = 여유공간의 크기 네트워크의 송수신 속도가 공간을 처리하는 속도보다 빠른 경우.. 이 경우 endpoint 에서 application 이 문제 (cpu .. 100 등..)

  • ipv4 header

mtu :1500 bytes

체크썸?

단편화?

와이어샤크..?? 16진수 표기법에 익숙해야 사용할 수 있다

  • subnet mask , cidr

ip 주소는 네트워크 id 와 호스트 id 로 나뉨..

subnet mask 를 기준으로 자른다

비트단위로 and 연산해서 자른다 => mask 연산을 수행헤서 네트워크 id 가 같다면 우리 쪽으로 오는 것으로 판단

최근에는 net mask 개념이 바뀌어서 클래스리스개념 등장 cidr(classless inter-domain routing)

  • broadcast ip 주소

mac 주소는 48비트 구조.. host ip 부분을 모두 1로 채우면 방송주소..

목적지아이피주소? 목적지아이피주소에 브로드케스트 ip 주소명 여러 곧으로 퍼짐

전체한테 다 보내겠다 vs 멀티케스트.. (전체한테 전달하지만 그룹핑해서 보냄)

브로드케스트는 자주하면 효율이 떨어진다 브로드케스트 도달범이를 일정 범위에서 통제해애 한다

네트워크에서 쓸 수 없는 ip 주소 ... 0,255 는 못씀.. 쓸 수 있는 host 254 하나더 빼면 게이트 웨이 1번을 주니까.. 등등

250 개 정도 주소 자원

  • hoat 자신을 가리키는 ip 주소

127.0.0.1

내가 나한테 접근하는 경우도 있음...

이 주체는 process 가 인터넷을 쓰는거고 컴퓨터내 여러 프로세스가 있어서 소캣을 이용해서 각각 프로세스 간에 통신이 필요한 경우가 있다....

loopback adress 가 나 자신을 가리킨다

ipc

  • 라우터 vs l3 switch

ttl

패킷이 목적지 도달 실패시...목적지 못찾을때 해당 패킷을 제거가 필요.. 제거 안하면 많아짐

이를 제어하는 것이 ttl

홉단위로..

안그래도 작은 패킷을 더 작게 :단편화

  • 3-way handshake

client 가 server에 연결을 하려고 할때

단순연결 관리 목적 세그먼트 존재

client 에서 생성한 sequencenumber 교환 + 정책 교환 (mss 를 맥시멈세그먼트사이즈를 알려줌)

  • 4-way handshake tcp 연결 종료 과정

fin+ack - ack - fin+ack - ack [time wait]

tcp 의 상태 변화

socket client 가 먼저 닫음

  • tcp header 형식 sequencenumber window size

  • upp heeader 형식 멀티미디어 전송에 최적화되어있음

HTTP/3? https://medium.com/monday-9-pm/%EC%B4%88%EB%B3%B4%EA%B0%9C%EB%B0%9C%EC%9E%90-http3-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0-98da26749cb9

연결은 보안성이 없다 연결은 착각

연결은 신뢰할 수 없다

  • dns

domain name service

네이버 ip 주소를 알 수 있는 데이터베이스 (분산 구조형 데이터베이스)

host name (ex www) domain name (ex naver.com) => ipv4 주소를 찾은 dns dns 주소는 isp 에서 알려주는 주소 내가쓰는 주소에서 가까운 dns 주소를 사용하는 것이 효율적

https://seogilang.tistory.com/1375

pc 마다 dns cache 를 갖고 있음 https://blog.naver.com/winzone/220796091045

dns 가 거짓말을 한다면?? -> 보안 ?? dns 가 해킹당하면 큰일 그래서 강역한 보안이 적용되어 있음 1.25 인터넷 대란

rootdns

dns 를 위한 dns

  • web

html = 문서 http 프로토콜은 기본적으로 html 문서를 실어 옮기기 위해 탄생

  • url ,uri

  • http

http 는 statusless 이다

개발시 설계 원칙 1.ui/ data /제어를 분리시켜 2. 유지보수

  • was (Web application server)

3 tier? https://dbknowledge.tistory.com/78

db 응답시간이 시스템 품질을 측정하는데 중대한 역할을 하게되어 집중적으로 db 응답시간과 was 의 상태를 관리하는것이 apm 이 있다 (Scatter)

소프트웨어와 하드웨어의 차이 로지컬(버츄얼) vs 피지컬

user mode application 에 java 기반 버츄얼 cpu 소프트웨어 만듬= jvm 만들어씀.. sublet 형태의 java application server

framework => Container 생성과 등록을 관리 해주는 Spring

서버에서 html 을 만들어서 보냈었는데... client 환경이 다양해짐 (아이패드.. 등 각 환경마다 다 만들어야 했음)

ui 와 데이터를 분리하지는 시도

응답에는 순수하게 자료만 날라오도록 변경함 xml,json

자바스크립트 기반에 클라이언트 서버가 실행되어 받은 데이터로 html 을 생성 (was 에) react.js,vue.js

ips 보안장치 ssl 처리 담당 기능이 있다면 ( http => https )

사용자의 입력속에 sql 있음 =>sql injection... 등등..

쿠키는 key value 형태다..

© 2024 by GwiyeomGo Tech Blog. All rights reserved.