보안/학교,기관

OSI 모델과 TCP/IP 프로토콜(네트워크보안)(Wireshark로 배우는 컴퓨터 네트워크)

지트리아 2022. 10. 1. 23:54

용어 정의

패킷 :
네트워크에 접속되어 있는 컴퓨터끼리 통신을 통하여 주고받는 데이터 단위
프로토콜 :
통신 규약, 컴퓨터끼리 통신을 수행하기 위한 약속
개방 시스템 :
기반 구조와 관계없이 서로 다른 시스템 간의 통신을 제공하는 프로토콜 집합
인터페이스 :
한 계층이 바로 위의 계층에게 제공해야 하는 정보와 서비스를 정의
프로세스 :
호스트에서 실행 중인 응용 프로그램
링크 :
많은 컴퓨터 간에 서로 통신을 허용하는 네트워크(근거리 통신망(LAN), 광역 통신망(WAN))
스트림 :
연결형

본문 정리

대중들은 OSI 모델이 표준이 될거라 믿었지만 TCP/IP가 광범위 하게 사용되었다.(TCP/IP가 먼저 나옴)

프로토콜 계층구조

후반부에 설명하지만 같은 계층끼리만 읽혀질 수 있다.(물리-물리, 데이터-데이터, ...)
이걸 예시로 설명하는데 처음 읽을 땐 왜 썼는지 이해도 못했다.
송신 측에 있는 각 계층은 자신의 아래에 있는 계층의 서비스를 이용한다.

OSI 기본 참조 모델

OSI는 모델이지 프로토콜이 아니다!
OSI 모델은 모든 종류의 컴퓨터 시스템 간 통신을 가능하게 하는 네크워크 시스템 설계를 위한 계층구조이다.
메시지가 전달 될때 중간노드는 물리,데이터,네트워크 계층만을 이용한다.
하위 계층은 데이터를 전송할 때 물리적인 면(전기적인 규격, 물리 주소, 전송 시간 등)을 처리한다.
상위 계층은 서로 관련이 없는 소프트웨어 시스템 간의 상호 연동을 가능하게 한다.
하위 계층으로 이동할 때마다 헤더가 데이터 단위에 추가된다.(정보-7계층-6계층-5계층-...)(즉 7계층에도 해더가 추가됨)(2계층은 트레일러도 추가)
제N계층의 패킷은 제N-1계층의 패킷으로 캡슐화된다.

물리층 : 물리 매체를 통하여 비트 스트림을 전달하는 데 필요한 기능들을 조정한다.(전자적 규격, 전송을 위한 절차 등등)

데이터 링크층 : 물리층에 있는 전송 설비를 신뢰할 수 있는 링크로 변환, 상위 계층인 네트워크층에게 오류 없는 물리층이 보이도록 한다.

네트워크층 : 다중 네트워크(링크)를 통하여 전달되는 발신지-최종목적지 전달을 책임진다.(데이터 링크층은 같은 네트워크상에서 두 시스템 간에 패킷의 전달을 책임)

전송층 : 전체 메시지의 프로세스-프로세스 전달을 책임진다.(네트워크층은 패킷 간의 관계를 인식안함, 전송층은 오류 제어와 흐름 제어를 통해 순서대로 도착을 보장)

세션층 : 프로세스 간에 반이중이나 전이중 모드로 통신하는 것을 허용하는 대화 제어 기능, 데이터 스트림에 확인점을 추가하는 동기화 기능을 포함한다.

표현층 : 서로 다른 부호화 시스템을 사용하기 때문에 서로 다른 부호화 방법간에 상호 운용성을 책임지는 변환 기능을 한다.(공통 형식을 수신자 의존 형으로 변경), 암호화, 압축

응용층 : 사용자(사람 또는 소프트웨어)가 네트워크에 접속하는 것을 가능하게 한다.

OSI 계층 요약

TCP/IP 프로토콜

상위 계층을 응용층이라는 하나의 계층으로 표현한다.
(TCP/IP는 하나 이상의 전송층 프로토콜을 가지고 있고, 세션층과 표현층의 기능을 소프트웨어로 개발 가능)
(OSI는 각 계층이 주요기능을 지정, TCP/IP는 시스템의 요구사항에 따라 혼합되고 대응될 수 있는 독립적인 프로토콜을 포함)
서로 다른 링크가 데이터가 자신의 최종 목적지에 도달하가 위해 경로를 지정하는 라우터교환기라는 장치가 연결되어 있다.

물리층 : TCP/IP에서 물리층과 데이터 링크층의 경우 특정 프로토콜을 규정하지 않고 모든 것을 지원한다. 통신 단위는 비트이다.

데이터 링크층 : 통신 단위는 프레임이라는 패킷이다. (프레임은 네트워크층으로부터 받은 데이터에 헤더(프레임의 목적지와 발신지를 포함)와 트레일러가 더해짐으로 캡슐화된 것) 라우터에 있는 데이터 링크층을 지나갈 때마다 프레임을 개방하여 삭제하고 새로운 프레임을 생성한다.

네트워크층 : 인터넷 프로토콜(IP)를 지원하고 지원 프로토콜(ARP, ICMP, IGMP)을 포함한다.
인터넷 프로토콜 : 신뢰성 없는 비연결형, 오류 검사나 추적을 제공하지 않음, 데이터그램이라는 패킷 형태로 데이터를 전송, 순서대로 도착하지 않거나 중복되어 도착할 수 있음, 호스트-호스트 프로토콜로서 패킷을 하나의 물리적인 장치에서 다른 물리적인 장치로 전달 할 수 있음을 의미
주소 변환 프로토콜 : IP 주소를 물리적인 주소로 변환
인터넷 제어 메시지 프로토콜 : 송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘, 조회와 오류 메시지를 보냄
물리·데이터링크는 노드-노드, 네트워크는 종단-종단으로 통신한다.
라우터의 네트워크층이 가장 최적의 경로를 찾기 위해 패킷의 발신지와 목적지를 조사할 수 있다.

전송층 : UDP,TCP,SCTP는 하나의 프로세스에서 다른 프로세스로 메시지를 전달하는 기능을 갖는 전송 레벨 프로토콜이다.
사용자 데이터그램 프로토콜 : 프로세스-프로세스 프로토콜로서 포트 주소, 상위 계층으로부터 받은 데이터 길이 정보만을 추가
전송 제어 프로토콜 : 신뢰성 있는 스트림 전송 프로토콜, 세그먼트라는 단위를 이용하는데 이는 순서 번호, 확인응답 번호를 포함
스트림 제어 전송 프로토콜 : UDP와 TCP의 장점을 결합한 전송 제어 프로토콜
네트워크층은 개별적인 데이터그램을 보내는 책임을 갖지만, 전송층은 사용자 데이터그램, 패킷, 세그먼트라는 전체 메시지를 전달하는 책임을 갖는다.

응용층 : 통신 단위는 메시지이다.

주소지정

TCP/IP에서 이용한 것이지 OSI는 아니다.

물리 주소(링크 주소) : LAN 이나 WAN에서 정의된 노드의 주소이며 데이터 링크층에 의해서 사용된다. 네트워크 인터페이스 카드는 6바이트의 주소(00:11:22:33:44:55)를 사용한다. 수신자물리주소-송신자물리주소-DATA 순으로 프레임을 구성한다. 유니·멀티·브로드캐스트가 있다.

논리 주소(IP 주소) : 물리 주소는 서로 다른 네트워크가 서로 다른 주소 형태를 갖는 네트워크 간 상호 접속 환경에는적합하지않다.(왜? 왜 설명이 없냐, 경우의 수가 얼마 안나와서? 그럼 IP는 무한정 한가??) 전 세계에서 유일함을 표현하기 위해 만들어졌다. 송신자논리주소-수신자논리주소-DATA 순으로 구성된다. 네트워크층의 라우팅 테이블이 라우터 논리주소를 물리 주소로 바꾸고 이 정보를 데이터링크층으로 보낸다. 유니·멀티·브로드캐스트가 있다.

포트 주소 : 한 프로세스가 다른 프로세스와 통신할 수 있어야 해서 만든 것이다.(목적지 호스트에 도착하는 것이 최종목적이 아님) 컴퓨터는 동시에 여러 개의 프로세스를 실행한다. 16비트로 구성된다.
수신자물리주소-송신자물리주소-송신자논리주소-수신자논리주소-송신자포트주소-수신자포트주소-DATA로 구성된다. 여기서 물리주소는 계속 바뀌고 나머지는 바뀌지 않는다.

응용 주소 : 이메일 같은 것을 의미한다.

연습문제

Q1. OSI 모델은 왜 개발되었는가?
어떤 두 시스템 간의 통신을 허용하는 표준이 필요하였다.

Q2. ---모델은 컴퓨터의 네트워크 기능을 구성하는 방법을 보여준다.
OSI

Q3. 물리층은 물리적인 매체를 통한 --- 전송과 관계가 있다.
비트

Q4. OSI 모델은 --- 계층으로 구성된다.
7

Q5. OSI 모델에서 데이터 패킷이 하위 계층에서 상위 계츠으로 이동할 때, 헤더가 ---.
제거된다.

Q6. OSI 모델에서, 데이터 장치 A에서 장치 B로 전송될 때, A의 제 5계층 헤더는 B의 --- 계층에 의해 읽혀진다.
세션

Q7. OSI 모델에서, 사용자 지원 계층과 네트워크 지원 계층 간에 연갈자 기능을 하는 계층은?
전송계층

Q8. OSI 모델에서, 전송층의 주요 기능은 무엇인가?
프로세스-대-프로세스 메시지 전달

Q9. OSI 모델에서, 암화화와 복호화 기능은 --- 층은 계층이다.
표현

Q10. OSI 모델에서, 다음 중 응용층의 서비스인 것은?
네트워크 가상 터미널, 파일 전송·접근·관리, 전자 우편 서비스 (모두 정답)

Q11. 네트워크 A 상의 호스트가 네트워크 B 상의 호스트로 메시지를 보낼 때, 라우터가 찾는 주소는?
IP

Q12. ---계층 한 홈(노드)에서 다음 홈(노드)으로 전달되는 프레임에 대한 신뢰성을 보장한다.
데이터링크

Q13. ---계층은 수신자와 송신자의 논리 주소를 포함하고 있는 상위 계층으로부터 오는 패킷에 해더를 더한다.
네트워크

Q14. ---계층은 한 프로세스에서 다른 프로세스의 메지지 전달을 보장한다.
전송

Q15. IP는 ---프로토콜이다.
신뢰성이 없는 비연결형

Q16. ---는 응용에 대해 전송층의 모든 서비스를 제공한다.
TCP

Q17. 링크 주소로 잘 알려진 ---주소는 LAN 또는 WAN에 의해 정의된 노드의 주소이다.
물리

Q18. 이더넷은 네트워크 인터페이스 카드에 기록된 ---물리 주소를 사용한다.
48비트

Q19. 이더넷 물리 주소가 될 수 있는 것은 다음 중 어떤 것인가?
07:01:02:01:2C:4B

Q20. TCP/IP의 포트 주소는 길이가 ---비트이다.
16

Q1. OSI와 ISO는 서로 어떤 관련이 있는가?
ISO는 국제표준기구, OSI는 ISO가 표준화한 임의의 두 시스템이 구조에 상관없이 상호 통신 할 수 있도록 하는 표준

Q2. 다음 설명과 일치하는 하나 또는 그 이상의 OSI 모델의 계층을 짝지어라.
경로 결정 - 네트워크계층
흐름제어 - 데이터링크계층, 전송계층
전송 매체의 인터페이스 - 물리계층
종단 사용자를 위한 접근 제공 - 응용계층

Q3. 다음 설명과 일치하는 하나 또는 그 이상의 OSI 모델의 계층을 짝지어라.
신뢰성 있는 프로세스-대-프로세스 전달 - 전송계층
경로 선택 - 네트워크계층
프레임 결정 - 데이터링크계층
전자우편과 파일 전송 같은 사용자 서비스 제공 - 응용계층
물리 매체를 통한 비트 스트림 전송 - 물리계층

Q4. 다음 설명과 일치하는 하나 또는 그 이상의 OSI 모델의 계층을 짝지어라.
사용자의 응용 프로그램과 직접 통신한다. - 응용계층
오류 교정 및 재전송 - 데이터링크계층, 전송계층
기계적, 전기적, 기능적 인터페이스 - 물리계층
인접한 노드들 사이 이동하는 프레임에 대한 책임 - 데이터링크계층

Q5. 다음 설명을 수행하는 하나 또는 그 이상의 OSI 모델의 계층을 짝지어라.
형식 및 코드 변환 서비스 - 표현계층
세션 설정, 관리, 종료 - 세션계층
데이터 전송의 신뢰성 보장 - 네트워크계층, 전송계층
로그인과 로그아웃 처리 절차 - 세션계층
데이터 표현의 차이점에 대한 독립성 제공 - 표현계층

Q7, Q6. 그림에 있는 간단한 사설 인터넷에 대해 응용층의 통신을 보여라.

친구들과 논의해본 결과 물리주소가 바뀌는걸 언급하고 싶던 문제가 아닌가 싶다. 먼저 밑의 풀이는 파랑색 박스가 데이터임을 가정한다.
19번의 그림은 물리주소가 바뀌지 않는다. 단순히 컴퓨터에서 컴퓨터로 간다면 물리 주소가 바뀔 필요가 없다. 당연히 논리, 포트, 응용 주소는 바뀌지 않는다. 하지만 20번의 경우 라우터를 거쳐야 하기 때문에 A에서 라우터, 라우터에서 B를 갈때 물리주소가 바뀐다. 이때 네트워크층은 라우팅 테이블을 통해 라우터의 논리주소를 찾아낸다. 그후 슉슉샥샥 주소와 계층에 따라 해석되며 컴퓨터 내에 작동된다.


Q13. 물리층에서 주소가 필요 없는 이유는 무엇인가?
매번 바뀌기 때문이다. 가장 빠른 길을 찾기위해 매번 수정해야한다.

Q16. 인터넷에서 네 개 레벨의 주소가 필요한 이유는 무엇인가? 그런데 전호망에서는 주소 레벨이 왜 하나(전화번호)만 있는가?
프로토콜끼리, 컴퓨터끼리, 그리고 바른 길 찾기 이러한 이유로 3가지가 필요하고, 응용 지정은 설명 안했자나 너무하네, 전화는 송신전화-수신전화 그 사이의 단계가 단순하고 변동성이 크지않기 때문이다.


밑의 질문에 대한 답을 아시는 분은 댓을 달아주시면 감사하겠다. 특히 8~11에 대한 답이 너무 궁금하다

Q8. 100바이트 메시지가 TCP/IP 프로토콜 그룹을 이용하여 사설 인터넷을 통하여 보내졌다. 만약 프로토콜이 각 계층에서 100바이트 헤더가 더해진다면, 시스템의 효율성은 무엇인가?(총 바이트 수에 대해 유용 바이트 수 비율?)


Q9. 만약 포트 번호가 16비트(2바이트)라면, TCP/IP 프로토콜 그룹의 전송층에서 최소 헤더 길이는 무엇인가?


Q10. 만약 논리 주소가 32비트(4바이트)라면, TCP/IP 프로토콜 그룹의 데이터 링크층에서 최소 헤더 길이는 무엇인가?


Q11. 만약 물리 주소가 48비트(6바이트)라면, TCP/IP 프로토콜 그룹의 데이터 링크층에서 최소 헤더 길이는 무엇인가?


Q12. 우리가 친구에게 일반 편지를 보낼 때 메시지를 어떻게 캡슐화 하는가?

Q14. 메시지가 브로드캐스트될 때 무선 지국은 받는 사람의 주소가 필요 없는 이유는 무엇인가?


Q15. 인터넷에서 송신자와 수신자 주소가 필요한 이유는 무엇인가?