Skip to content

Latest commit

 

History

History
115 lines (80 loc) · 5.13 KB

Week4.md

File metadata and controls

115 lines (80 loc) · 5.13 KB

추천 자료

Inter Process Communication

프로세스간 통신

  • Signal 되짚어보기
  • Signal의 한계

복잡한, 혹은 변화하는 통신 방법으로는 부적합하다. 중요한 건 데이터. 그냥 메모리를 공유하면 좋겠지만 그건 불가능...

프로그램에게 가장 기본적인 입출력?

  • Standard I/O: stdin, stdout, stderr
  • File I/O

Pipe

입력을 꼭 키보드로만 하라는 법은 없다.... 표준 입출력이란 것도 사실 미리 준비된 File Descriptor

그러면 입력/출력을 위한 file descriptor를 2개 만들면 되지 않을까?

Shell Pipeline

앞서서 본 Pipe는 1:1 통신. 다수의 프로세스가 통신하려면 좀 다른 방법이 필요하지 않을까? Pipe와 같이 파일을 만들어서 통신하는 방식. 하지만 프로세스들이 이름을 통해서 접근한다는 점이 다르다.

Network. Park 1

Socket API를 이해하기 위해 앞서서 알아볼 것들...

Q. 컴퓨터들의 통신과 사람의 전화통화는 어떤 점이 다를까?

참고자료

친숙한 용어들

  • Domain Name System (DNS)
  • Protocol Stack
  • Network Topology
  • Internet Protocol (IP)
  • Router
  • MAC address
  • Dynamic Host Configuration Protocol (DHCP)

Data Link Layer

모든 네트워크 인터페이스들은 고유 주소, MAC Address를 가지고 있다. (ROM에 쓰여있음)

ARP & RARP

  • Address Resolution Protocol
  • arp 명령: -a

Topology 내에서 각 Machine의 식별. MAC Address를 어떻게 하면 쉽게 알아낼 수 있을까?, ARP Broadcast와 ARP Reply

Network Layer

Internet Protocol을 통해서 하려는 것은 Packet을 상대 Host에게 전달하는 것.

  • 상대 Host Machine을 어떻게 구분할 수 있을까? 주소체계의 필요성
  • 데이터를 어떻게 표현할까? 패킷 구조의 정의

IP 주소

Routing Table
  • route 명령
  • tracert 명령

라우팅 테이블의 구조

Packet

패킷 구조를 보기 전에 역시 용어를 살펴봐야 하는데...

IP를 사용해서 Host Machine까지 패킷을 전달한 이후, 그 패킷을 프로세스에게 어떻게 전달할 것인가? 재전송이 필요한가? 부분적 유실은 어떻게 처리하는가? 이 파트를 시작할때 Flow control에 대해 설명했었는데, 그 처리를 여기서...

  • Port와 Socket의 관계
  • netstat 명령

TCP

UDP

모든 통신이 연결을 필요로 하는 것은 아니다... Multicast를 지원할 필요성도 존재.