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://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 |