본문 바로가기
보안과정/네트워크

TCP/IP 4계층

by Luuii 2017. 10. 16.

 

TCP/IP 4계층

> 네트워크 전송 시 데이터 표준을 정리한 것이 ISO 7계층

> 이 이론을 실제 사용하는 인터넷 표준이 TCP/IP 4계층

> 각 계층은 담당하는 위치마다 처리 역할을 구분하여 진행함으로서, 서로 간의 간섭을 최소화하여 사용의 편리성을 높힘.

 

> TCP/IP는 2개의 계층으로 이루어진 프로그램.

>> 상위 계층인 TCP는 메시지나 파일들을 좀 더 작은 패킷으로 나누어 인터넷을 통해 전송하는 일과 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당.

>> 하위 계층 IP는 각 패킷의 주소 부분을 처리. 패킷들이 목적지에 정확하게 도달할 수 있게 함.

>> 네트워크 상의 각 게이트웨이는 메시지를 어느 곳으로 전달해야 할지를 알기위해 메시지의 주소를 확인.

>> 한 메시지가 여러 개의 패킷으로 나뉜 경우 각 패킷들을 서로 다른 경로를 통해 전달 될 수 있으며, 그것들은 최종 목적지에서 재조립됨.

 

<참고 사항>

 

 

> 왜 패킷을 캡쳐할 때 와이어샤크를 실행해야할까?

>> 패킷 분석과 별도로 패킷 생성만을 진행할 수 있는 전문적인 도구들이 따로 존재함.

>> 와이어 샤크는 분석에 특화된 도구로서 수집 용도로 사용해도 무방하지만, 대용량을 수집해야 하는 환경에서는 부적절.

 

응용프로그램 계층(Application)

> 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공.

> 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의

HTTP(HyperText transfer Protocol) - WWW의 Web 페이지 파일을 전송하는데 사용

FTP(File transfer Protocol) - 상호 파일 전송을 위해 사용

SMTP(Simple Mail transfer Protocol) - 메일 메시지와 그에 추가된 첨부 파일을 전송하기 위해 사용. 대안으로는 X.400

Telnet(Terminal emulation protocol) -  네트워크 호스트에 원격 접속하기 위해 사용

 

> TCP/IP 네트워크를 사용하거나  관리하는 것을 도와주는 프로토콜

DNS(Domain Name System) - 호스트 이름을 IP 주소를 변환하기 위해 사용.

DHCP(Dynamic Host Configuration Protocol)

RIP(Routing Information Protocol) - IP 네트워크 상에서 라우팅 정보를 교환하기위해 라우터가 사용하는 프로토콜

SNMP(Simple Network Management Protocol) - 네트워크 관리 콘솔과 네트워크 장비(라우터, 브릿지, 지능형 허브)간의 네트워크 관리정보를 수집, 교환하기 위해 사용. 네트워크 관리 및 네트워크 장치와 그들의 동작을 감시, 통합하는 프로토콜. 반드시 TCP/IP네트워크에만 한정되지는 않음.

 

 

전송계층(Transport)

> ISO 7계층의 3,4계층에 해당. 자료의 송수신을 담당

> 애플리케이션 계층의 세션과 데이터그램(datagram) 통신서비스 제공

 

Import informaion : Port

Layer Function    --> TCP에만 존재하는 기능. UDP에는 이런 기능이 없다.

Flow Control    => (TCP) Sliding Window(송신) / Congestion Window(수신)

Error Control    => (TCP) ACK (에러제어) -> 송신이 응답을 못 받은 경우

 

> TCP/UDP이 핵심 프로토콜

> TCP/UDP에 대한 구분을 하고 데이터에 대한 제어정보가 여기에 포함됨.

TCP

> 1:1 연결 지향, 신뢰할 수 있는 통신 서비스 제공.

> TCP 연결 확립과 보내진 패킷의 확인, 순서화, 전달 중 손상된 패킷을 복구하는 책임을 짐.

 

UDP

> 1:1, 1:N의 비연결 지향, 신뢰할 수 없는 통신서비스 제공

> 주로 전달해야할 데이터의 크기(하나의 패킷으로 보낼 수 있는 데이터와 같은 경우) 가 작을 때 사용.

> TCP 연결 확립에 의한 부하를 피하려고 할 때 사용.

> 상위 프로토콜이 신뢰할 수 있는 전달을 책임지는 경우에 사용.

 필드 

 길이 

 설명 

 출발지 포트

  2 byte

 보내는 프로그램의 포트

 도착지 포트

  2 byte

 상대 프로그램의 포트

 시퀀스 번호

  4 byte

 송신 측에서 몇번 째 바이트까지 보냈는지 ,수신에 알림

 ACK 번호

  4 byte

 수신 측에서 데이터가 몇 바이트 째 까지 도착지에 도착하였는지 송신측에 알림

 헤더 길이

  4 bit

 헤더의 전체 크기

 플래그

  12 byte

 통신 제어 비트

 윈도우 크기

  2 byte

 송신측에 윈도우크기를 보내, 바로 처리 가능한 크기를 알림

 체크섬

  2 byte

 오류 유무를 검사하기 위한 값

 긴급 포인터

  2 byte

 긴급하게 처리할 데이터의 위치를 나타냄, UGR플래그와 함께 사용됨

 

인터넷 계층(Internet)

> ISO에서 3계층에 해당.

> 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공

> 논리적 주소인 IP를 이용한 노드간 전송과 라우팅 기능을 처리하게 됨.

> 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공하게 됨.

 

Important Informaiont : IP

Layer Function

Routing                                => Header(IP)

Fragmentation & Reassembly    => Fragmentation(송신), Reassembly)(수신)

 

> 인터넷 계틍의 핵심 프로토콜은 IP, ARP, ICMP, IGMP 등

IP(Internet Protocol) - IP 어드레싱과 패킷의 분해, 재조합을 책임지는 프로토콜

ARP(Address Resolution Protocol) - 인터넷 계층 주소를 네트워크 인터페이스 계층의주소(하드웨어 주소와 같은)로 변환하는 역할 담당.

ICMP(Internet Control Message Protocol) - IP 패킷의 전달에 따른 오류나 상태를 보고하고 진단하는 기능을 제공

IGMP(Internet Group Management Protocol) - IP 멀티캐스트 그룹의 관리를 책임짐

 

 필드

 길이 

 설명 

 버전

 4 bit

 IP 프로토콜 버전으로 IPv4, IPv6가 대표적으로 많이 사용.

 헤더 길이

 4 bit

 IP 헤더의 길이

 서비스 타입

 1 byte

 패킷의 우선 순위

 전체 길이

 2 byte

 IP 메시지 전체 길이

 ID 정보

 2 byte

 개개의 패킷의 식별번호, 일렬번호라고도 함

 플래그

 3 bit

 프래그먼트된 것인지 아닌지 유무를 알림

 프래그먼트 오프셋

 13bit

 플래그 세팅되지 않으면, 프래그먼트 된것으로 여기에 선두로부터 몇 번째인지 나타냄

 생존 기간

 1 byte

 네트워크 장비를 통과 할 수 있는 홉수로 TTL 값이 여기 존재

 프로토콜 번호

 1 byte

 TCP, UDP, CMP인지를 구분

 헤더 체크섬

 2 byte

 오류 검사용 데이터

 출발지 IP주소

 4 byte

 출발지 IP 주소

 도착지 IP주소

 4 byte

 도착지 IP 주소

 

네트워크 인터페이스 계층(Network interface)

> OSI 7계층의 1,2 계층에 해당.

> TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당.

> 에러 검출 기능(Detecting errors), 패킷의 프레임화(Fraimg packets)

> 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계.

So, TCP/IP는 서로 다른 네트워크 형태를 연결하는데 사용되어 질 수 있음.

> 이더넷(Ethernet), 토큰링(Token Ring)과 같은 LAN기술과

> X.25, 프레임릴레이 같은 WAN기술을 포함.

 

Important information : MAC

Layer Function

Flow Control(흐름 제어) => Header(MAC)

Error Control(에러 제어) => Tailer(CRC)

 

[참고] IEEE Identifiers

- IEEE 802.3 - Ethernet standards(유선 방식 이더넷)    // 기억

 

(주의)

인터넷 계층은 데이터 링크 계층에 존재할수 있는 순서화, 확인 서비스의 이점을 채택하지 않음.

네트워크 인터페이스계층은 신뢰할 수 없다는 것으로 가정.

세션 확립과 순서화, 패킷 확인 등의 신뢰 할 수 있는 통신은 트랜스포트 계층의 책임임.

 

> 물리적 주소인 MAC주소를 이용하여 패킷을 보낼 곳을 판단.

> 여기에 사용되는 프로토콜은 ARP등이 해당, 스위치와 허브 등이 이 계층에 사용됨.

> 스위치와 라우터의 차이는 바로 계층에서도 나타난다고 볼 수 있음.

> 라우터는 IP를 이용한 3계층에서 동작하는 장비, 스위치는 MAC을 이용한 2계층 장비.

 필드

 길이  

 설명 

 도착지 MAC 주소

 6 byte

 보낼 상대의 MAC 주소 

 출발지 MAC 주소

 6 byte

 이 패킷을 보내는 측의 MAC 주소

 이더넷 타입

 2 byte

 사용하는 프로토콜 종류를 표시

 

=============================================================

 

와이어샤크상 실제 전송되는 패킹을 통해 계층별로 구분

 

<교재 참고 자료>

 

 

 

[참고] https://asecurity.so/2017/05/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%8C%A8%ED%82%B7-%EB%B6%84%EC%84%9D%EC%9D%98-%EA%B8%B0%EB%B3%B8-tcpip-7%EA%B3%84%EC%B8%B5-4%EA%B3%84%EC%B8%B5/

 

[참고] https://www.microsoft.com/korea/technet/deploy/tcpintro4.mspx

 

[참고] https://www.joinc.co.kr/w/Site/Network_Programing/Documents/IntroTCPIP

 

반응형

'보안과정 > 네트워크' 카테고리의 다른 글

IP주소  (0) 2017.10.18
ARP, ARP Spoofing  (0) 2017.10.17
네트워크 인터페이스 계층(Network Interface Layer)  (0) 2017.10.17
OSI 7 계층  (0) 2017.10.16
보안관련용어들  (0) 2017.10.16