Jeong Story

L4-Transport Layer (4계층)

Jeong's FP | 2018. 3. 23. 13:56

L4 - Transport Layer (4계층)


(4계층) 전송 계층은 서비스를 구분하여 신뢰성 있는 통신을 제공하는 계층 (경로 결정)


주소 : Port Number

프로토콜 종류 : TCP / UDP

장비 : L4-Switch



Encapsulation & Decapsulation


Encapsulation ?


비트로 되어있는 데이터를 시그널로 바꾸는게 인코딩

즉, 데이터들이 목적지 등 여러가지 정보들이 포장되면서 1계층으로 내려간다



Decapsulation ?


시그널로 바껴있는 데이터를 디코딩 

즉, 포장되어있는 데이터들을 하나씩 벗기면서, 그 계층값들을 버리면서 올라간다

계층 별 포장을 확인 후 버리며 올라가게되면 마지막엔 데이터만 남게된다


[부가 내용]

Header : 데이터 블록의 시작 부가 데이터

Fouter : 데이터 블록의 뒤에 붙는 데이터 

Tag : 데이터 블록의 중간에 붙는 데이터



TCP (Transmission Control Protocol) 통신 방식

크기가 큰 데이터는 단편화하고,

신뢰성 있는 통신으로 데이터 통신의 제어가 가능한 프로토콜


제어

1. 오류제어

2. 흐름제어



3 Way Hand Shake ?

TCP 통신을 시작할 때 절차




4 Way Hand Shake ?

TCP 통신을 종료할 때 절차




TCP Header



IANA(Internet Assigned Numbers Authority)는 인터넷 할당 번호 관리기관의 약자로 IP 주소최상위 도메인 등을 관리하는 단체


Source Port address 필드(16bit)

: 데이터를 생성한 애플리케이션에서 사용하는 포트번호를 나타낸다.

Well-known ports(0~1,023) : IANA에 의해 배정되고 제어된다.

Registered port(1,024~49,151) : IANA에 의해 배정되거나 제어되지 않는다. 

하지만 중복을 피하기 위해 IANA에 등록 될 수는 있다.

Dynamic Ports(49,152~65,535) : IANA에 의해 제어되거나 등록되지 않는다. 

어느 프로세스라도 사용 할 수 있으며 임시 포트이다.

클라이언트를 위한 임시 포트 번호는 이 영역에서 선택되도록 권고되고 있다.


Destination Port address 필드(16bit)

: 목적지 애플리케이션이 사용하는 포트 번호


Sequence number 필드(32bit)

- 전송되는 데이터의 가상 회선을 통해 전송되는 데이터의 모든 바이트에는 고유한 일련 번호가 부여된다.

- 네트워크가 불안하여 패킷을 분실, 지연 등으로 세그먼트가 순서가 어긋나게 도착 할 수 있기 때문에 sequence number를 이용하여 데이터를 올바른 순서로 재배열할 수 있다.


Acknowledgement number 필드(32bit)

- 다음 세그먼트를 수신할 준비가 되었다는 사실을 알린다.

- 모든 데이터가 수신되었다는 것을 나타내는 묵시적인 확인 메시지 역할을 한다.


Header Length 필드 (4bit)

: 헤드의 길이를 32비트 단위로 나타낸다. 최소 필드 값은 5 (5 * 32 = 160bit or 20Byte ) 

     최대 값 15 (15 * 32 = 480bit or 60byte)


Reserved 필드(6bit)

: 차후의 사용을 위해서 예약된 6 비트 필드이다.


Control Flags 필드(6bit)

: 6개의 서로 다른 제어 비트 또는 플래그를 나타낸다. 동시에 여러 개의 비트가 1로 설정될 수 있다.


CWR : Congestion Window Reduced) – 혼잡 윈도우 크기 감소

ECN : Explicit Congestion Notification) – 혼잡을 알림

URG(Urgent) : Urgent Pointer 필드가 가리키는 세그먼트 번호까지 긴급 데이터를 포함되어 있다는 것을 뜻한다.

                           이 플래그가 설정되지 않았다면 Uregent Pointer 필드는 무시되어야 한다.

    예를들어 ping 명령어중 Ctrl+c 입력 하는것과 같다

ACK(Acknowledgment) : 확인 응답 메시지

PSH(Push) : 버퍼가 채워지기를 기다리지않고 데이터를 전달

RST(Reset) : 수신 거부를 하고자 할때 사용 (비정상)

SYN(Synchronize) : 가상 회선이 처음 개설될 때 두 시스템의 TCP 소프트웨어는 의미 있는 확인 메시지를 전송하기 위해

                                   일련 번호를서로 동기화해야 한다.

FIN(Finish) : 작업이 끝나고 가상 회선을 종결하고자 할 때 사용


Window size 필드(16bit)

: 송신 시스템의 가용 수신 버퍼의 크기를 바이트 단위로 나타낸다.

BUFFER 란 ?

일정시간동안 기다리는데 데이터가 빠진지 확인한다 (버퍼가 가득차야 위로 올리는 특성)

예를들어 1 2 3 5 6 이렇게 데이터가 들어왔다. 하나가 빠졌다면 나머지 데이터는 어플리케이션으로 올라가지못한다.

그렇게때문에 PSH 의 flog 를 사용하여 데이터가 다왔으니 위로 올려라 라는 명령을 내린다


Checksum 필드(16bit)

: TCP 세그먼트의 내용이 유효한지 검증하고 손상 여부를 검사 할 수 있다.



UDP (User Datagram Protocol)

서비스를 구분하여 데이터를 전달하는 것 이외의 기능은 가지지 않는 프로토콜

즉, 제어를 하지않는다는 의미




Source Port address 필드(16bit)

: 데이터를 생성한 애플리케이션에서 사용하는 포트번호를 나타낸다.

Well-known ports(0~1,023) : IANA에 의해 배정되고 제어된다.

Registered port(1,024~49,151) : IANA에 의해 배정되거나 제어되지 않는다. 

하지만 중복을 피하기 위해 IANA에 등록 될 수는 있다.

Dynamic Ports(49,152~65,535) : IANA에 의해 제어되거나 등록되지 않는다. 

어느 프로세스라도 사용 할 수 있으며 임시 포트이다.

클라이언트를 위한 임시 포트 번호는 이 영역에서 선택되도록 권고되고 있다.


Destination Port address 필드(16bit)

: 목적지 애플리케이션이 사용하는 포트 번호

Length 필드(16bit)

: 전체 데이터 그램의 길이 (바이트)를 지정하는 16bit 필드이다.

  헤더와 데이터를 합친 길이로서 최소 길이는 헤더의 길이 8bit이다


Checksum 필드(16bit)

: TCP 세그먼트의 내용이 유효한지 검증하고 손상 여부를 검사 할 수 있다.


'  Network' 카테고리의 다른 글

네트워크 기본 실습 환경  (0) 2018.03.23
TCP/IP 와 OSI 7Layer 차이  (0) 2018.03.23
L3 Switch (3계층)  (0) 2018.03.23
SPAN  (0) 2018.03.23
Switch Sniffing  (0) 2018.03.23
  Network
2018. 3. 23. 13:56
COMMENTS