-
컴퓨터네트워킹 하향식 접근 1장 : 컴퓨터 네트워크과 인터넷🥸𝗖𝗦/𝖭𝖾𝗍𝗐𝗈𝗋𝗄 2021. 10. 15. 21:32
목표
네트워크를 이해하는 것
1.1 인터넷이란 무엇인가?
1. 구성요소로 본 인터넷
- 인터넷에는 수많은 컴퓨터와 그에 관련된 장치들이 연결되어 있다.
(1) 호스트 또는 end system
(2) 통신 링크(동축케이블, 구리선, 광케이블, ... 다양한 물리매체)
(3) 라우터 (최종 목적지 방향으로 패킷 전달)
2. 서비스 측면에서의 인터넷
- 애플리케이션끼리 데이터를 교환하는 많은 종단 시스템을 포함하고 있는 분산 애플리케이션
3. 프로토콜
네트워크 개체들 사이에 주고받는 메시지의 포맷과 순서를 정의하고, 메시지 송신과 수신에 관련된 행위를 정의한다.
사람 프로토콜 : 사람 <-> 사람 ex) 안녕? 안녕! 몇시죠? 2:00
컴퓨터 네트워크 프로토콜 : 컴퓨터 <-> 컴퓨터 ex) TCP 연결 요청. TCP 연결 응답. GET ~~~. 파일.
1.2 네트워크의 가장자리
Network Edge : 우리가 일반적으로 사용하고 있는 컴퓨터. 즉, 호스트 또는 end system을 의미함
호스트 간의 관계는 다음과 같다.
- 클라이언트 / 서버 모델 : 클라이언트는 서버에게 서비스를 요청하고 서버로부터 서비스를 받는다.
- Peer to peer 모델 : 예) 화상회의
데이터를 주고 받기 위해 어떤 종류의 서비스를 제공받는가?
TCP : Transmission Control Protocol
- 데이터를 전송하기 전에 handshake를 한다.
- 신뢰성, 순서 보장, 혼잡제어, 흐름제어
ex) HTTP, FTP, Telnet, SMTP
UDP : User Datagram Protocol
- Handshake를 하지 않고, 바로 데이터를 전송
- 신뢰성 X, 흐름제어 X, 혼잡제어 X
ex) 스트리밍 영상, Teleconferencing..
1.3 네트워크 코어
Network Core : 인터넷의 end system들을 서로 연결하는 라우터들의 망 조직 (패킷스위치들과 링크들의 연결망)
라우터를 통한 데이터 전송은 어떻게 이루어지는가?
회선교환(Circuit switching)과 패킷교환(Packet switching)으로 나누어진다.
회선 교환
- 엔드시스템 간 통신에 link를 독점적으로 예약해서 사용한다.
- 다른 데이터가 예약되어 있고 사용하지 않고 있는 링크를 사용할 수 없어, 효율성이 떨어진다.
- 한 링크 내에서 채널을 나누는 기준
FDM(Frequency Division Multiplexing) 채널을 주파수 대역별로 나누는 방식
TDM(Time Division Multiplexing) 채널을 시간대별로 나누는 방식
패킷 교환
네트워크 어플리케이션에서 엔드시스템들은 서로 메시지를 교환한다. 메시지는 텍스트, 이미지, 영상 등 무엇이든 담을 수 있다.
메시지를 목적지의 엔드 시스템에 보내려면 발신 엔드 시스템은 메시지를 여러 조각으로 작게 나눈다. (패킷)
발신 엔드 시스템과 수신 엔드 시스템 사이의 각 패킷은 커뮤니케이션 링크와 패킷 스위치를 통해 전송된다.
만약 패킷 스위치가 L bits 패킷을 R bits/sec으로 전송하면 패킷이 전송되는데 걸리는 시간은 L/R 초가 된다.
- 저장 후 전달 : 라우터가 패킷을 forward하기 전에 패킷의 첫번째 비트부터 마지막 비트까지 모두 받아야 한다.
현재는 패킷 스위칭을 더 많이 쓰고 있다.
그 이유는 같은 네트워크를 사용할 때, 패킷스위칭을 사용하면, 더 많은 사용자들이 네트워크를 이용할 수 있기 때문이다.
그러나 네트워크 부하가 과중되면, 패킷 딜레이 또는 패킷손실이 발생할 수 있다. (이에 대한 처리는 TCP가 한다)
1.4 패킷교환 네트워크에서의 지연, 손실과 처리율
각 패킷 스위치에는 여러 개의 링크가 연결되어 있고, 각각의 링크에 대해 패킷 스위치는 출력 버퍼를 가지고 있다.
출력 버퍼는 링크에 보낼 패킷을 담고 있으며, 패킷 교환에 중요한 역할을 한다.
만약 패킷이 도착하면 링크에 전송해야 하지만, 링크가 혼잡하다면 패킷은 출력 버퍼에서 대기 한다. (큐잉지연)
만약 패킷이 도착했을 때 이미 출력버퍼가 가득 차 있다면 패킷 손실이 일어나며, 도착한 패킷이나 큐 안에 있는 패킷이 손실된다.
지연의 종류
처리지연 : 패킷의 헤더를 확인하고 패킷이 어디로 가야하는지 결정하는 시간. 이 과정 이후 라우터는 패킷을 링크된 라우터의 큐로 보낸다.
큐잉지연 : 패킷이 큐에서 링크로 전송되기를 기다리는 시간. 몇개의 패킷이 큐에 있는지에 따라 결정된다.
전송지연 : 라우터가 패킷을 내보내는데 필요한 시간.(두 라이터 사이의 거리와는 관계 없음)
패킷은 FCFS에 따라 전송되는데, 패킷의 모든 비트가 도착해야 패킷이 전송될 수 있다. 전송지연은 L/R이다.
전파지연 : 링크로 보내진 비트는 라우터 B로 전송되어야 하는데, 이 때 걸리는 시간. (링크의 전파 속도 . 물리적 매체에 따라 다름)
1.5 프로토콜 계층과 서비스 모델
OSI 7계층
- 어플리케이션계층 : HTTP, SMTP, FTP 다양한 프로토콜을 포함하고 있으며, 여러 엔드 시스템에 분산되어 다른 엔드 시스템에 패킷을 교환하는 역할. PDU : Message, Data
- 표현계층
- 세션계층
- 전송계층 : 어플리케이션 사이에서 어플리케이션 계층 메시지를 전송하는 역할. 인터넷에는 TCP와 UDP라는 전송 프로토콜이 있으며, TCP는 연결지향이며 속도가 느리지만 데이터 손실이 없고, UDP는 비연결 지향이며, 데이터 손실이 있지만 속도가 빠르다.
PDU : Segment(세그먼트), 헤더에는 포트번호 필드가 있다.
- 네트워크계층 : 데이터그램을 호스트에서 다른 곳으로 보내는 역할. 발신 호스트의 트랜스포트 레이어 프로토콜에서 세그먼트와 목적지 주소를 네트워크 레이어에게 보내면 네트워크 레이어는 세그먼트를 목적지 호스트의 트랜스포트 레이어에게 보낸다.
PDU : Datagram(데이터그램), Packet(패킷). 헤더에는 프로토콜 필드가 있다.
- 링크계층 : 각 노드의 네트워크 레이어가 데이터그램을 링크레이어로 내려 보내는데, 링크레이어는 이 데이터그램을 다음 노드의 링크레이어에게 보낸다. 그리고 다음 노드의 링크레이어는 수신한 데이터그램을 네트워크 레이어에게 올려보낸다.
PDU : Frame(프레임). 헤더에는 타입 필드가 있다.
- 물리계층 : 프레임의 각 비트를 다음 노드로 보내는 것. 링크의 종류에 따라 프로토콜이 다르다. 이더넷의 경우 구리연선이나 동축케이블, 단일 모드 광섬유 등 다양한 프로토콜을 가진다.
PDU : Bit(비트)
TCP/IP 4계층
어플리케이션계층
전송계층
인터넷 계층
네트워크 접속 계층
1.6 공격받는 네트워크
오늘날 인터넷은 기업, 대학, 정부 기관 등 거의 모든 곳에서 사용하고 있기 때문에 보안이 매우 중요하다. 공격은 다음과 같이 분류할 수 있다.
- 멀웨어 설치
- 서버 또는 네트워크 인프라 (Dos; Denial Of Service Attack) 공격
- 패킷 사본 기록 (스니핑)
- 신뢰할 수 있는 사람 사칭. 거짓 출발지 주소를 가진 패킷을 인터넷으로 보내는 능력 (스푸핑)
1.7 컴퓨터 네트워킹과 인터넷의 역사
패킷교환개발 (1961-1972)
독점네트워크와 인터네트워킹 (1972-1980)
네트워크 확산(1980-1990)
인터넷 급증(1990s) => WWW 탄생.(팀버너스리가 고안한 인터넷 시스템) 이후 수 많은 컴퓨터들이 인터넷에 연결되었다.