본문 바로가기

8. Security 네트워크 보안이란 무엇인가? 아래 4가지가 보장이 되어야 네트워크 보안이라고 할 수 있다. confidentiality : sender-encrypts(암호화), receiver-decrypts(암호 해독), 일종의 readability, 제 3자는 읽을 수 없어야 함 authentication : sender, receiver 서로 인증 message inegrity(무결성): 주어진 메시지가 훼손되지 않았다는 걸 확인하는 것 access and availability : 항상 접근가능해야한다는 점 네트워크에서 공격받는 경우 - Trudy eavesdrop : 도청하는 경우 impersonation : source address를 변경해서 정보를 도용하는 경우 hijacking : sender, rec..
7. Wireless and Mobile Networks 1. 개요 1) 무선 호스트 ① 스마트폰, 노트북 ② 애플리케이션 수행 ③ 고정 또는 이동 - 무선이 항상 이동성을 의미하는 것은 아님 2) 기지국 ① 유선 네트워크에 연결 ② 중계(relay) - 유선 네트워크와 영역 내의 무선 호스트 사이에 패킷을 송신 - ex) 셀 타워(cell tower), 802.11 AP(access point) 3) 무선 링크 ① 무선 호스트를 기지국에 연결 ② 백본 링크(backbone link)로도 사용 ③ 다중 접속 프로토콜이 링크 접근을 조정 ④ 다양한 전송률, 전송거리 4) 인프라스트럭쳐(기반구조) 방식 ① 기지국은 이동호스트를 유선 네트워크에 연결 ② 핸드오프(handoff) : 이동 호스트가 기지국을 변경하여 유선 네트워크로의 접속점을 변경하는 과정 5) 애드 ..
6. Link layer Link layer 지금까지 고려하지 않은 것들을 고려 에러 찾기, 고치기 가능 렌카드를 허브에 연결 -> 여러 선을 연결하여 broadcast media -> 같은 서브넷 안에 있는 디바이스들이 사용하는 허브로 연결한 네트워크는 전부 1홉 IP address : 인터넷 상에 한 호스트로 가기 위해 필요한 주소 -> Link layer에서 사용하는 address가 따로 존재(MAC) 인스턴스화, 다양한 링크 계층 기술 구현 모바일망 -> 기관(같은 서브넷을 사용) -> link layer가 공유 호스트와 라우터들을 노드라고 칭함 통신 경로를 따라 인접 노드들을 연결 하는 통신 채널들을 link라고 함 Link layer에서는 데이터 패킷을 frame이라고 부름 -> 네트워크 레이어의 데이터그램을 캡슐화 ..
3.5 TCP Fairness TCP throughput (AIMD only) AIMD 방식으로 congestion control을 할 때, (AIMD 방식에서 sender는 loss가 발생할 때까지 transmission rate(Window size)를 1 MSS 단위로 증가시키다, loss 감지 시 cwnd를 loss가 발생한 시점의 절반으로 줄인다. W/RTT와 W/2RTT의 평균은 3W/4RTT 로 계산할 수 있다. TCP Futures: TCP over "long, fat pipes" 링크의 에러율을 포함해 throughput을 계산하는 것이 맞다! TCP Fairness TCP는 네트워크의 상황을 추측. throughput을 결정하는 bottleneck에서 bandwidth를 얼마나 공정하게 share하고 있을까? RTT..
3.4 TCP Congestion Control 오늘은 rwnd (flow control)는 무시하고, cwnd에 집중하여 TCP가 어떻게 네트워크의 congestion을 제어 하는지 학습할 것 3-way handshaking 2-way handshake failure scenarios: TCP 3-way handshake 클라이언트가 서버와의 연결을 초기화 하길 원할 때 서버가 클라이언트의 dedicated된 소켓을 여는 과정. 1단계: 먼저 클라이언트 TCP는 서버 TCP에게 TCP 세그먼트를 송신한다. 이 세그먼트는 애플리케이션 계층 데이터를 포함하지 않고, 세그먼트의 헤더에 SYN 이라는 하나의 플래그 비트를 가진다. 추가로 클라이언트는 최초의 SequenceNumber를 선택한다(client_isn). 이것을 TCP SYN 세그먼트라고 한다...
3.3 TCP Flow Control & 3-way handshake TCP seq. numbers, ACKs TCP가 in-order, no-loss delivery를 제공하기 위해 보내는 msg를 byte단위로 관리하기 위한 field ⇒ byte-oriented delivery sender의 send buffer 모두 application에서 생성되어 transport layer로 내려온 data들 bar 하나가 numbering 된 하나의 byte를 나타냄 왼쪽에서부터 초록색은 ACK을 받은 byte들, 노란색은 보낸 후 아직 ACK을 받지 못한 byte들 ⇒ inflight byte → inflight byte들은 NW router buffer, receiver buffer에 영향 → window size W가 buffer의 상태에 따라 보내는 양(노란색) 조절 ..
3.2 TCP & UDP Connectionless demultiplexing connectionless ⇒ UDP (at receiver) demux는 destination에서 실행중인 여러 개의 프로세스들 중 소켓 찾기 by sender가 붙인 dest port number (destination에 도착해 layer를 올라갈 때 발생) ⇒ 같은 port number를 가진 패킷은 같은 소켓으로 도착 Client 끼리 통신하는 게 X. Client끼리는 같은 서버와 통신함 UDP에서는 여러 클라이언트가 서버의 같은 소켓으로 통신 하기 때문에 UDP segment 헤더에 있는 dest의 IP주소와 port 번호로 클라이언트를 구분해야 함 → TCP는 서버가 두 클라이언트를 위한 각각의 전용 소켓을 하나씩 갖고 있음 → UDP는 ..
3.1 Transport Layer Chapter 3: Transport Layer 대표적인 프로토콜로 TCP와 UDP goals: understnad principles behind transport layer services: multiplexing, demultiplexingdata link(2)계층이 해주는 일은 한 hop 이동하기network(3)계층이 해주는 가장 중요한 일은 routingtransport(4)계층이 해주는 일은 process(socket) 찾기= support process to process connection IP address 하나에서 실행 중인 여러 process들이 물린 port를 찾는 것이 mux 즉, application(5)계층에서 실행 중인 여러 process 중 dest process를 찾는 ..