컴퓨터 네트워크 (네트워크)
- 여러 장치들이 연결되어 서로 정보를 주고받을 수 있는 통신망
- 많은 프로그램이 네트워크를 통해 다른 장치와 상호 작용하며 실행된다.
인터넷
- 여러 네트워크를 연결한 ‘네트워크의 네트워크’를 의미한다.
네트워크 구조
- 호스트, 네트워크 장비, 통신 매체, 메시지로 이루어진다.
호스트 (노드)
-
네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신하는 네트워크의 가장자리에 위치한 노드
- 종단 시스템(end system)이라고도 한다.
-
역할에 따라 서버와 클라이언트로 구분되며, 각각 요청과 응답을 주고받을 수 있다.
- 서버
- ‘어떠한 서비스’를 제공하는 호스트
- 파일 ⇒ 파일서버 / 웹 페이지 ⇒ 웹 서버 / 메일 ⇒ 메일 서버
- 응답을 보내는 호스트
- 클라이언트
- 서버에게 요청을 보내고 그에 대한 응답을 제공받는 호스트
네트워크 장비 (중간노드)
- 호스트 간 주고받을 정보가 중간에 거치는 노드
- 이더넷 허브 ,라우터, 스위치, 공유기 등
-
호스트 역할을 수행할 수 있는 노드, 네트워크 장비 역할을 수행할 수 있는 노드가 있다.
-
서버 역할을 수행할 수 있는 노드, 클라이언트 역할을 수행할 수 있는 노드가 있다.
노드 | 네트워크 장비 (중간노드) |
---|
| |
통신 매체(간선)
- 유선 매체 : 트위스티트 페어 케이블, 광케이블
- 무선 매체 : 와이파이
메시지
- 통신 매체로 연결된 노드가 주고받는 정보
- 웹 페이지, 파일, 사진, 동영상 등
범위에 따른 네트워크 분류
네트워크 구성 범위가 다양한 만큼, 네트워크를 범위에 따라 분류하는 기준도 존재
LAN
- Local Area Network
- 가정, 기업처럼 비교적 근거리를 연결하는 한정된 공간에서의 네트워크
WAN
- LAN을 연결할 수 있는 넓은 범위의 원거리를 연결한 네트워크
- ISP(KT, LG U+, SK 브로드밴드)에 의해 구축
메시지 교환 방식에 따른 네트워크 분류
호스트들이 네트워크를 통해 메시지를 주고바는 방식
회선 교환 네트워크
- 호스트 간에 메시지를 주고받기 전,
- 두 호스트 사이에 메시지 전송로인 회선(curcuit)을 설정한 뒤 (두 호스트가 연결, 전송로를 확보)
- 해당 전송로를 통해 메시지를 주고받는다.
- 다른 호스트는 도중에 끼어들 수 없음 (전통적인 정화망)
- 회선 스위치 : 호스트 사이에 일대일 전송로를 확보하는 네트워크
- 장점 : 전송률 보장
- 두 호스트 사이에 연결을 확보한 후에 메시지를 주고받기 떄문에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정
- 단점 : 회선 이용률 저하
- 가능한 모든 회선에 끊임 없이 메시지가 흐르고 있어야만 회선의 이용 효율이 높아진다.
패킷 교환 네트워크
- 메시지를 패킷 단위로 쪼개어 송수신한다.
- 패킷 : 패킷 교환 네트워크에서 주고받는 데이터 단위
- 파일 전송시에 전체가 전송되는 것이 아닌, 패킷의 크기만큼 분할되어 전송되고, 수신지에서 쪼개진 패킷들이 재조립된다.
- 패킷은 페이로드와 헤더로 구성되고, 때로는 트레일러까지 포함한다.
패킷 구성 요소
- 헤더(header) : 패킷에 붙일 부가 정보
- 페이로드(payload) : 패킷에 보낼 정보
- [트레일러(trailer)] : 패킷 뒤에 붙일 부가정보
주소와 송수신지 유형에 따른 전송 방식
- 유니캐스트 : 하나의 수신지에 메시지를 전송하는 방식, 일대일 메시지
- 브로드캐스트 : 자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식
- 브로드캐스트 도메인 : 브로드 캐스트가 전송되는 범위
- 멀티캐스트 : 네트워크 내의 동일 그룹에 속한 호스트에게만 전송
- 애니캐스트 네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송
프로토콜(protocol)
- 노드(장비) 간의 합의된 규칙이나 방법을 의미
- 서로 다른 통신 장치들이 정보를 주고받으려면 프로토콜이 통해야한다.
- IP : 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜
- ARP : 192.168.1.1과 같은 형태의 ‘IP 주소’를 A1:B2:C3:D4:E5:F6과 같은 형태의 ‘MAC 주소’로 대응하기 위해 사용되는 프로토콜
- HTTPS : HTTP에 비해 보안상 더 안전한 프로토콜
- TCP : UDP에 비해 일반적으로 느리지만 신뢰성 높은 프로토콜
- 프로토콜마다 목적과 특징이 다르기에 헤더에 포함되는 정보도 달라질 수 있다.
네트워크 참조 모델
- 네트워크의 전송 단계를 계층적으로 표현한 것
- 통신 과정을 계층으로 나눈 이유
- 네트워크 구성과 설계가 용이하다.
- 문제 발생 지점을 추측할수 있어서, 네트워크 문제 진단과 해결이 용이하다.
송수신 과정에서의 정형화된 관계
OSI 모델
- 통신 과정을 7개의 계층으로 표현
- 이상적인 설계
- 물리계층
- 최하단 계층, 1과 0으로 표현되는 비트 신호를 주고받는 계층
- 통신 매체에 맞는 신호로 운반되도록 비트 데이터의 변환이 이루어지고 통신 매체를 통한 송수신이 이루어지는 계층
- 데이터링크 계층
- 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층 (LAN)
- 정보 오류 확인, MAC 주소 체계를 통해 네트워크 내 송수신지 특정 가능
- 네트워크 계층
- 메시지를 (다른 네트워크에 속한) 수신지까지 전달하는 계층
- 네트워크 간의 통신
- IP 주소라는 주소 체계를 통해 통신하고자 하는 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로 결정
- 전송계층
- 신뢰성 있고 안정성 있는 전송을 해야 할때 필요한 계층
- 패킷의 흐름 제어, 전송 오류 점검
- 세션계층
- 세션을 관리하기 위해 존재하는 계층
- 세션 : 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태
- 프로그램간의 연결 상태 생성 및 유지, 끊어주는 역할
- 표현계층
- 응용계층
- 최상단 계층, 사용자가 이용할 응용 프로그램에 다양한 실질적인 네트워크 서비스 제공하는 계층
- 웹페이지 제공, 송수신된 이메일 제공 등
TCP/IP 모델
- 통신 과정을 4개의 계층으로 표현
- 이론 보다는 구현에 중점을 둔 네트워크 참조 모델
- TCP/IP 4계층, 인터넷 프로토콜 스위트, TCP/IP 프로토콜 스택, 인터넷 프로토콜
- TCP/IP 모델에서도 TCP, IP를 포함해 UDP, ARP, HTTP등 다양한 프로토콜들이 주로 묶여 함꼐 사용된다.
- 네트워크 엑세스 계층
- 인터넷계층
- 전송계층
- 응용계층
- OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사
캡슐화 역캡슐화
패킷은 송신 과정에서 캡슐화가 이루어지고, 수신 과정에서 역캡슐화가 이루어진다.
캡슐화(encapsulation)
- 데이터 전송 과정에서 헤더(및 트레일러)를 추가해 나가는 과정 의미
- 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아, 상위 계층으로부터 받은 정보에 프로토콜에 걸맞는 헤더 (혹은 트레일러)를 덧붙이는 것
역캡슐화(decapsulation)
- 캡슐화 과정에서 붙인 헤더 (및 트레일러)를 각 계층에서 제거하는 것
PUD
패킷
- 패킷 교환 네트워크에서 쪼개어져 전송되는 단위
- 네트워크 계층에서의 송수신 단위 (IP 패킷)
1주차
진도: Chapter 01
기본 숙제(필수): OSI 모델 및 TCP/IP 모델 차이점을 정리하고, 이를 바탕으로 네트워크 계층 구조를 작성해 보기(p. 62 참조)
추가 숙제(선택): Ch.01(01-1) 확인 문제 2번(p.35), (01-3) 확인 문제 2번(p.73) 풀고 설명하기
기본 숙제
OSI 모델 및 TCP/IP 모델 차이점을 정리하고, 이를 바탕으로 네트워크 계층 구조를 작성해 보기(p. 62 참조)
| OSI 모델 | TCP / IP 모델 |
---|
목적 | 이론적 설계를 위한 참조 | 실용적 구현을 위한 참조 |
계층 수 | 7계층 | 4계층 |
계층종류 | 물리계층 / 데이터링크 계층 / 네트워크 계층 / 전송계층 / 세션계층 / 표현계층 / 응용계층 | 네트워크 엑세스 계층 / 인터넷 계층 / 전송계층 / 응용계층 |
OSI 모델 | TCP / IP 모델 | 설명 |
---|
응용 계층 | 응용 계층 | 사용자와 직접 상호작용하는 네트워크 응용 프로그램을 제공(HTTP, FTP, SMTP, DNS) |
표현 계층 | | 데이터 형식 변환, 암호화, 압축 등의 기능을 제공하여 상위 계층이 데이터를 적절하게 처리할 수 있도록 함 (SSL/TLS) |
세션 계층 | | 통신 세션을 설정하고 관리하며, 세션 간의 데이터 교환을 제어(NetBIOS, PPTP) |
전송 계층 | 전송 계층 | 데이터의 세그먼트를 전달하고, 신뢰성 있는 데이터를 전송을 보장 (TCP:전송 제어 프로토콜, UDP:사용자 데이터그램 프로토콜) |
네트워크 계층 | 인터넷 계층 / 네트워크 계층 | 네트워크 내에서 패킷을 전달하고, 라우팅 기능을 담당(라우터, IP:인터넷 프로토콜) |
데이터 링크 계층 | 네트워크 액세스 계층 / 데이터링 계층 | 인접한 네트워크 장치간에 프레임을 전송하고, 에러 검출 및 수정 기능을 제공 (스위치, 브리지, 이더넷) |
물리 계층 | 네트워크 액세스 계층 / 물리 계층 | 물리적 매체를 통해 비트를 전송. 전기적 신호, 광 신호, 또는 무선 신호를 사용하여 데이터 전송 (케이블, 허브, 리피터) |
추가 숙제
Ch.01(01-1) 확인 문제 2번(p.35)
- 1 : 컴퓨터 네트워크에 대한 이해는 프로그램을 만드는 과정과 유지 보수 과정 모두에 도움을 줄 수 있다.
Ch.01(01-3) 확인 문제 2번(p.73)
- 2 : TCP / IP 모델은 4개의 계층으로 표현한다.
회고
이전에 네트워크 아티클들을 읽었던 적이 있어서 이해하기는 나쁘지 않았다.
OSI 7계층과 TCP/IP 4계층 모델이 가끔 헷갈리긴하지만 혼공네트를 읽어가면서 더 명확하게 이해해야겠다.
HTTP 통신에 대해서 먼저 학습했기 때문에, 나한테는 패킷의 기본적이 의미가 IP패킷이기 때문에 처음에 반가웠지만 당황했다.