간단 네트워크 역사 & OSI 7 계층

김용현·2024년 3월 22일

CS

목록 보기
1/13

본 포스트는 그림으로 공부하는 TCP/IP구조 책을 바탕으로 작성하였습니다.

현대 네트워크의 시작

  • 현대 네트워크의 원형은 1960년대 ~ 1970년대에 걸쳐 미국에서 시작되었다고 한다.
  • 하나의 컴퓨터에 여러 사람이 TSS(Time Sharing System) 방식으로 시분할 시스템 방식으로 컴퓨터를 사용했다고 하는데, 이처럼 TSS 단말에서 하나의 메인 프레임 서버로 전화를 걸어 접속한 뒤 이를 TSS 방식으로 사용했다고 한다.

ARPANET(Advanced Research Projects Agency NETwork)

1960년대 후반부터는 개인 소형 컴퓨터들끼리의 통신을 위한 네트워크가 만들어진다.
대표적으로 미국 방위 고등 연구 계획국에서 학술 목적으로 만들어낸 ARPANET 가 만들어졌다.
현대 네트워크의 가장 기본 단위가 되는 패킷 을 세계 최초로 사용했다고 한다.

📣 패킷이란?

네트워크를 통해 통신하는 것은 결국에는 종단 간유/무선 상의 물리적인 전기 신호를 보내는 것이다.
이러한 전기 신호는 결국 0, 1로 이루어진 비트 정보를 전달하는 것이고 이러한 데이터는 이후 포스팅할 OSI 7계층에 의해 비트로 변환된다.

이 때 데이터를 한 번에 쭈우욱 보내게 되면 중간에 데이터가 유실될 가능성도 있고 사용자가 많아질 수록 비효율적이다. 이에 데이터를 패킷이라는 단위로 잘라서 보내게 되는데 이 때 단위가 패킷 이다.


데이터 전송 방식

회선 교환 방식

데이터를 교환하기 위해 전에 일대일의 전송로를 만들고, 교환을 마칠 때까지 전송로를 계속 이용하는 교환 방식

우리가 누군가와 전화를 할 때 다른 사람 전화는 걸려오더라도 받지 못하는 것을 생각하면 된다.

장점

  • 회선을 점유할 수 있기 때문에 통신이 안정적이고 빠르다.

단점

  • 장기간 사용하지 않거나 사용 빈도가 적을 경우 비효율적이다.

패킷 교환 방식

데이터를 패킷이라는 단위로 나누어 네트워크로 전송하는 방식

패킷이라는 단위로 데이터가 쪼개졌기 때문에 데이터마다 이 데이터가 어디로 가는 것인지, 어디에서 왔는지 등에 대한 정보가 헤더라는 정보에 담겨 추가로 패킷에 붙는다.

장점

  • 필요할 때 필요한 만큼만 사용하면 되기 때문에 효율적이다.
  • 중간에 데이터가 유실되더라도 유실된 데이터만 보내면 된다.


프로토콜(Protocol)

패킷에는 어떤 정보가 들어가야 하지?
패킷을 받았는데 이걸 어떻게 해석해야 하지?

패킷 교환 방식을 실현하기 위해서는 누구나 패킷을 보낼 수 있어야 하고 받아서 해석할 수 있어야 한다.
즉, 표준화(프로토콜)가 필요하다.

프로토콜에 의해 결정되는 것

  • 물리적 사양
    -> LAN 케이블 소재나 커넥터 형태 등 물리적으로 보이는 것은 모두 프로토콜로 정의되어 있다.
  • 송신 상대 특정
    -> IP 주소 192.168.56.XX와 같은 송신지에 대한 정보로 송신 상대를 구별한다.
  • 패킷 전송
    -> 프로토콜에는 헤더의 어디에서 어디까지 어떤 정보를 포함하고 어떤 순서로 교환하는지 등이 정의되어 있다.
  • 신뢰성 확립
    -> 데이터가 중간에 유실될 경우 이를 송신 측에 알리거나 네트워크 망이 패킷으로 가득 차는 등 다양한 에러 상황에 대한 대응책을 갖고 있다.
  • 보안 확보
    -> 올바른 통신 상대인지 인증하고 통신을 암호화 하는 등의 구조를 제공한다.

계층 모델

프로토콜은 그 역할과 기능에 따라 종류가 다음과 같이 상당히 많이 존재한다.

네트워크는 계층 별로 나누어져 있고, 이 계층에서 동작하는 프로토콜들이 정해져 있는데, 최근에 프로토콜 별 역할과 계층이 모호해진 것도 있다고 한다.


TCP/IP 참조 모델

위 이미지의 오른쪽에 있는 계층 모델이다. OSI 모델보다 역사가 길고 실용성을 중시한 구조이기 때문에 현재 대부분의 프로토콜은 TCP/IP 참조 모델에 대응하는 형태로 만들어져 있다.

TCP

  • 신뢰성 있는 연결형 서비스 제공
  • 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공
  • 스트림(Stream) 전송 기능 제공
  • 헤더(Header) : Source/Destination Port Number, Sequence Number, Acknowledgement Number, Checksum 등 포함

IP

  • 데이터그램을 기반으로 하는 비연결형 서비스 제공
  • 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공
  • 헤더(Header)의 길이 = 20Byte ~ 60Byte
  • 헤더(Header) : Version, Header Length, Total Packet Length, Header Checksum, Source IP Address, Destination IP Address 등 포함

다음과 같은 기능들을 하는 프로토콜을 합쳐놓은 모델이다.


OSI 참조 모델

한 번쯤은 들어봤을 OSI 7 Layer 모델이다. 위 이미지에서는 왼쪽! 1984년 국제 표준화 기구(ISO)에서 책정한 모델로, 현재 이 모델에 순수하게 대응하고 있는 프로토콜은 존재하지 않는다.
기능을 너무나 세세하게 분류하여 사용하기 어렵고 번잡하기 때문이다.

이 책에서도 그렇고 보통 5,6,7 계층은 애플리케이션 계층 하나로 본다.


PDU(Protocol Data Unit)

각 계층에서 데이터를 처리하는 단위를 PDU 라고 하며, 계층마다 부르는 이름이 다르다.

PDU = 헤더(Header) + 페이로드(PayLoad)

좀 더 설명하면,

네트워크 계층의 페이로드 = 데이터 링크 계층 헤더 + 페이로드
트랜스포트 계층 페이로드 = 네트워크 계층 헤더 + 페이로드
애플리케이션 계층 페이로드 = 트랜스포트 계층 헤더 + 페이로드

이런 식으로 위 계층의 페이로드가 아래 계층의 모든 정보를 페이로드로 갖고 있는 형태를 하고 있다.


표준화 단체 IEEE, IETF

프로토콜은 누가 정했을까?

이처럼 다양한 계층에서 각자 역할을 하는 프로토콜은 종류가 굉장히 많다. 그리고 이는 IEEE , IETF 이 두 단체에서 표준화하고 있다.

IEEE(Institute of Electrical and Electronics Engineers)

비교적 하드웨어 처리에 가까운 프로토콜을 표준화 한다.

IETF(Internet Engineering Task Force)

비교적 소프트웨어 처리에 가까운 프로토콜을 표준화 한다.
여기서 표준화된 규칙은 RFC(Request For Comment)라는 형태로 문서화되어 공개된다.

요런 식으로 문서 번호를 붙여 공개한다.

참고 자료 📚

https://m.post.naver.com/viewer/postView.naver?volumeNo=32676380&memberNo=22097819
https://owlyr.tistory.com/13
https://blog.naver.com/leeyoon0607/70112215601

profile
평생 여행 다니는게 꿈 💭 👊 😁 🏋️‍♀️ 🦦 🔥

0개의 댓글