[CrashCourse CS] #28 Computer Networks

Steve·2021년 7월 15일
0

The first computer network - 1950s ~ 60s

  • Generally used within an organization, like a compnay or research lab, to faciliate the exchange of information between different people and computers.
  • Faster and reliable than physically exchanging a pile of punch cards or a reel of magnetic tape
  • Able to share physical resources, like sharing a printer attached to a network, or large storage device.

LAN

  • Local Area Networks
  • Relatively small networks of close-by computers.
  • Can be as small as two machines in the same room, or as large as a university campus.

Ethernet

  • The most famous and succesful LAN
  • Developed in the early 1970s at Xerox PARC, still widely used today.
  • Each computer has its unique MAC address (Media Access Control Address) for distinguishment
  • Unique address is put into a header that prefixes any data sent over the network
  • Every computer made today comes with its own unique MAC address for both Ethernet and WiFi.

The general term for this approach - Carrier Sense Multiple Access (CSMA)

  • The 'carrier' is any shared transmission medium that carries data
  • Copper wire in the case of ehternet
  • Air carrying radio waves for Wifi
  • Bandwidth - Rate at which a carrier can transmit data

Collision

Happens when more than one computer attempting to send data

To fix - when transmitting computers detect a collision, they wait for a breif period before attempting to re-transmit

  • Each computer has random period of waiting
  • Exponential backoff - If collision happens again, its wait time grows exponentially (1->2, 2->4, ..). Ethernet, Wifi, and other transmission protocols

Collision domain

To reduce collisions and improve efficiency, we need to shrink the number of devices on any given shared carrier.

Breaking the network into two collision domains

This is essentially how big computer networks are constructed, including the Internet, which literally inter-connects a bunch of smaller networks, allowing inter-network communication.

Routing

There is often multiple paths to get data from one location to another - routing

Simplest way to connect two distant computers or networks is by allocating a communication line for their exclusive use.

Circuit Switching

  • Switching among circuits to route traffic to the correct destination
  • Relatively inflexible and expensive because there are often unused capacity.
  • On the upside, if you have money to buy a line, it could be used to its full capacity without having to share.
  • For this reason, the military, banks, and other high importance operations still buy dedicated circuits to connect their data centers.

Message Switching

Messages are passed through several stops
Fault-tolerant - can use different path if a path has a problem.

Hop count

  • Number of hops a message takes along a route.
  • Hop count is stored with the message and updated along its journey.
  • Messages with high hop counts means something has gone awry in the routing. This threshold is called hop limit.

Downside of message switching

  • Big messages can clog up the network, b/c the whole message has to be transmitted from one stop to the next before continuing on its way.
  • While a big file is transferring, that whole link is tied up that other messages has to either wait for the big file transfer to finish or take a less efficient route.

Solution

  • Chop up big transmissions into many small pieces, called packets.
  • Just like message switching, each packet contains a destination address on the network, so routers know where to forward them.
  • This format is defined by the 'Internet Protocol', or IP, a standard created in the 1970s.

Packet switching

Chopping up data into small packets, and passing these along flexible routes with spare capacity, is so efficient and fault-tolerant, it's what the whole internet runs on today. This routing approach is called packet switching.

Today, routers all over the globe work cooperatively to find efficient routings, exchanging information with each other using special protocols.

  • ICMP - Internet Control Message Protocol
  • BGP - Border Gateway Protocol

The world's first packet-switched network, and the ancestor to the modern internet was ARPANET (Advanced Research Projects Agency)


Vocabulary

sneakernet - 컴퓨터 간의 데이터 이동을 네트워크가 아닌 플로피 디스켓 등의 저장 매체로 하는 컴퓨터 이용법
hop - 한발로 깡충깡충 뛰다.
awry - 빗나간, 엉망인
threshold - 문턱, 한계점
clog up - 막다


Thoughts

꼭 비디오 하나를 한번에 다 정리할 필요 없다. 한번에 하기 힘들다고 느끼면 여러번 나눠서 하자.

profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글