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 |