네트워크 -TCP/IP 4계층

Run·2021년 9월 16일


클라이언트와 서버의 각 계층에서 어떤 기능들을 하는지 알아보자.

Incapsulation단계에서의

응용계층
TCP/IP 에선 OSI 7계층의 5,6,7계층을 묶어 응용계층으로 본다.
여기선 데이터를 요청하는 데이터를 생성을 한다.
그리고 그 아래 계층인 transport 계층으로 보낸다.

transport 계층
응용계층에서 받은 데이터에 tcp헤더를 붙인다.
tcp헤더에는 destination port와 source port 정보를 담고 있다.
tcp헤더와 위에서 받은 데이터를 합친 걸 segment로 부른다.
dport는 80이고 sport는 아무거나 랜덤하게 세팅한다.
segment를 네트워크 레이어로 보낸다.

network 계층
transport layer에서 받은 segment를 데이터로 여기고
이 데이터에 IP헤더를 붙힌다.
IP헤더에는 source ip와 destination ip가 들어간다.
source ip는 지금 pc에서 쓰는 ip를 쓰면 되고
destination ip는 DNS라는 ip를 획득하는 방법을 통해 얻어온다.
IP헤더 + 위에서 받은 데이터가 소켓이 된다.
이 소켓을 Data Link 계층으로 보내준다.

Data Link 계층
network 계층에서 받은 소켓을 여기선 데이터로 여기고
여기에 이더넷 헤더를 붙힌다.
이더넷 헤더에는 source mac과 destination 맥을 넣는다.
smac에는 physical address를 쓰면 된다.
라우팅과 ARP을 통해 next top ip과 dmac 정보를 얻어온다.
이더넷 헤더 + 위에서 받은 데이터를 frame 정보라고 한다.
이 정보를 전기적인 신호로 바꿔서 스위치로 보낸다.

스위치는 프레임을 해석할 수 있는 디바이스다.
dmac 정보를 보고 어떤 인터페이스로 보내야할지 결정한다.

**라우터
라우터에서는 본인한테 잘 온건지 확인한다.
이더넷 헤더를 떼버린다.
그리고 dip 주고를 보고 라우팅과 arp를 통해 encapsualtion을 다시 해준다.
즉 이더넷 헤더만 계속 바뀐다.

decapsulation은 incapsualtion을 해준 계층에서 헤더를 벗겨준다.

profile
정글에서 살아남기

0개의 댓글