2018년 1월 8일 월요일

OSI 7 Layer # 4계층 전송 TCP, UDP

4 계층 <전송 계층 Transport> 

프로세스 간의 통신주소 체계 : 포트 번호0 ~ 65535포트번호가 무조건 적인 것은 아니며, 임의적으로 정할 수 있는 경우도 있음.

 
System Port 
Well-Known Port, 0 ~ 1023 / 잘 알려진 주요 서비스를 제공하는 포트

 <포트 종류>
 FTP (20, 21) SSH (22) TELNET (23) SMTP (25) DNS (53) DHCP (67, 68)
 TFTP (69) HTTP (80)  SNMP (161, 162)

User Port 
Registered Port, 1024 ~ 49151 / 주요 서비스는 아니나 등록된 포트

Private Port:
Dynamic Port, 49152 ~ 65535 / 사용자들이 사용하는 포트
요약 : 1024 까지는 System Port 4만부터 끝까지가 Private Port































IP : 특정 네트워크를 찾아감

MAC 주소
특정 네트워크 대역에서 특정 시스템을 찾아감포트 번호 : 특정 시스템의 특정 프로그램을 찾아감    ex) 라우팅 테이블 -> 포트번호
 

TCP, UDP

연결 지향형 (TCP): 신뢰성 있는 통신 가능, 비 연결 지향형에 비해 느리며, 서로 간의 협의를 통한 통신이다.

ex) 전화기

비 연결 지향형 (UDP): 신뢰성 이 떨어지는 던져 주기만 하는 통신이며 속도가 빠르다.

ex) 무전기, TV 채널

 
TCP의 동작 방식

계속해서 물어보고 대답하는 과정을 통해 신뢰성을 보장되며,
주고 받으며 통신하는 방식 ( 전화기를 생각하면 간단하다. )

ClientServer-----------><---------------------->

Sequence Number 와 acknowledgment 이후 TCP Flags 로 구성되는 것이 보통이다.
 
TCP 헤더의 구성으로는 

  • 소스 포트 (Source Port)
  • 목적지 포트 (Destination Port)
  • Seq 번호 : TCP 세그먼트의 순서 번호
  • Ack 번호 : Seq 번호에 대한 응답 신호
  • Offset : 헤더의 길이, 최소5, 최대15 Offset * 4 = 실제 헤더 길이
  • Reserved : 예약필드로서 사용하지 않는 곳.
  • Flags : 현재 패킷의 종류를 표시
U (URG) : 긴급 Bit, Segment에 우선순위가 높은 데이터가 포함되어 있다는 뜻A (ACK) : 응답 Bit, 승인을 포함한다는 뜻P (PSH) : 밀어넣기 Bit, TCP Buffer가 일정한 크기만큼 쌓여야 상하위 계층으로전달하는데  이를 생략하게 함R (RST) : 초기화 Bit, 송수신 시스템에 문제가 발생하였으니 서로 연결을 초기화해야 한다는 뜻
       S (SYN) : 동기화 bit, 순서 번호를 동기화하고 연결 수립을 요청한다는 뜻
       F (FIN) : 종료 bit, 송수신 장비가 연결을 종료하겠다는 뜻 


  • Window : 내가 응답하지 않아도 상대방이 계속 데이터를 보낼 수 있도록 남아있는TCP Buffer의 사이즈를 알려주는 것 (쓸데없는 질문과 응답을 하지 않아 부하가 줄어든다.)
  • Checksum체크썸: 헤더 에러 체크
  • Urgent Point : 어디가 긴급데이터 인지를 가리키는 곳.
 
TCP 3 - Way Handshake (TCP 통신 전 연결 수립가정)
 




-----------------------------------------------------------------
 
Edit -> Preferences -> 왼쪽에 protocols -> tcp -> relative sequence number 해제 -> 확인
-----------------------------------------------------------------
HTTP 패킷 실습
-----------------------------------------------------------------
HTTP 패킷을 보고
다음 패킷의 S, A를 예상
 
-----------------------------------------------------------------
Telnet 실습
-----------------------------------------------------------------
 

댓글 없음:

댓글 쓰기