The Internet and how data travels
The Internet
- The Internet is a huge network of computers that are joined together.
- No single computer is in charge. Many computers share the work.
- When you open a web page, your data travels across many of these computers.
인터넷(Internet)
- 인터넷은 서로 연결된 방대한 규모의 컴퓨터 네트워크입니다.
- 단일 컴퓨터가 전체를 관할하지 않습니다. 여러 대의 컴퓨터가 작업을 공유합니다.
- 웹 페이지를 열면, 사용자 데이터는 이러한 여러 대의 컴퓨터를 통해 전송됩니다.
Data is split into packets
- Big data does not travel in one piece.
- It is cut into small pieces called packets.
- Each packet carries a bit of the data, plus an address (where it goes) and a number (its order).
데이터는 패킷으로 분리됩니다
- 대용량 데이터는 한 덩어리로 이동하지 않습니다.
- 패킷이라고 불리는 작은 조각으로 나뉩니다.
- 각 패킷은 데이터의 일부와 함께 주소(전송 목적지) 및 번호(전송 순서)를 포함합니다.
Your message: "HELLO FRIEND"
Split into packets:
[1] "HELL" to: 203.0.113.7
[2] "O FR" to: 203.0.113.7
[3] "IEND" to: 203.0.113.7
Routing: many paths
- Routing means choosing a path for each packet through the network.
- Packets pass through many computers called routers on the way.
- Different packets can take different paths to the same place.
라우팅: 다양한 경로
- **경로 지정(Routing)**은 네트워크를 통해 각 패킷을 위한 경로를 선택하는 것을 의미합니다.
- 패킷은 라우터라고 불리는 여러 컴퓨터를 거쳐 이동합니다.
- 서로 다른 패킷은 같은 목적지로 가더라도 서로 다른 경로를 사용할 수 있습니다.
[You] --- router A --- router B --- [Website]
\ /
--- router C --- router D -
Packet 1 may go A -> B.
Packet 2 may go C -> D.
Both still arrive.
Redundancy and fault tolerance
- Redundancy means there is more than one path between two points.
- Because of this the Internet has fault tolerance: it keeps working even if one link fails.
- If router B breaks, packets just use another route, like C -> D.
중복성 및 결함 허용
- **중복성(Redundancy)**이란 두 지점 사이에 하나의 경로보다 더 많은 경로가 존재함을 뜻합니다.
- 이로 인해 인터넷은 결함 허용(Fault Tolerance) 기능을 갖게 되는데, 연결 중 하나가 고장 나더라도 계속 작동할 수 있습니다.
- 라우터 B가 고장 날 경우, 패킷은 C -> D와 같은 다른 경로를 사용합니다.
[You] --- router A --- (router B BROKEN)
\
--- router C --- router D --- [Website]
The path through B fails.
Packets still arrive through C -> D.
TCP/IP: the rules
- Computers must agree on rules so they can talk. We call a set of rules a protocol.
- IP (Internet Protocol) gives every computer an address and helps send each packet.
- TCP (Transmission Control Protocol) checks that all packets arrive and puts them back in order.
TCP/IP: 규칙
- 컴퓨터들이 대화할 수 있도록 규칙에 동의해야 합니다. 이러한 규칙의 집합을 **프로토콜(Protocol)**이라고 부릅니다.
- IP(Internet Protocol)는 각 컴퓨터에게 **주소(Address)**를 부여하고 패킷 전송을 돕습니다.
- TCP(Transmission Control Protocol)는 모든 패킷이 정상적으로 도착했는지 확인하고 이를 순서대로 재배열합니다.
Packets arrive (maybe out of order):
[3] "IEND" [1] "HELL" [2] "O FR"
TCP reorders them by number:
[1] "HELL" + [2] "O FR" + [3] "IEND"
= "HELLO FRIEND"
HTTP: the web
- The web (World Wide Web) is the pages and links you open in a browser.
- The web uses a protocol called HTTP (HyperText Transfer Protocol).
- Your browser sends an HTTP request ("please give me this page"); the server sends an HTTP response (the page).
HTTP: 웹
- **웹(Web, World Wide Web)**은 브라우저에서 여는 페이지와 링크들을 말합니다.
- 웹은 HTTP(HyperText Transfer Protocol)라는 프로토콜을 사용합니다.
- 브라우저가 HTTP **요청(Request, '이 페이지를 주세요')**을 보내면, 서버는 HTTP **응답(Response, 해당 페이지)**을 보냅니다.
Why this design is strong
- No single point controls everything, so there is no single point to break the whole Internet.
- Many paths + packets = the network can route around problems.
- Shared rules (TCP/IP, HTTP) let very different computers work together.
이 설계가 강력한 이유
- 모든 것을 통제하는 단일 지점이 없으므로, 인터넷 전체를 마비시킬 수 있는 단일 고장 지점도 없습니다.
- 다양한 경로와 패킷이 존재하므로, 네트워크는 문제를 회피하여 경로 지정할 수 있습니다.
- 공유된 규칙(TCP/IP, HTTP)은 매우 다른 컴퓨터들이 함께 작동하게 합니다.
Key words
- Packet: a small piece of data with an address and an order number.
- Routing: choosing a path for packets through routers.
- Redundancy / fault tolerance: many paths, so one failure does not stop the network.
- TCP/IP: rules to send packets and reassemble them in order.
- HTTP: the rules the web uses to request and send pages.
핵심 용어
- 패킷(Packet): 주소와 순번이 포함된 데이터의 작은 조각입니다.
- 경로 지정(Routing): 패킷이 라우터를 통해 이동할 수 있는 경로를 선택하는 것입니다.
- 중복성/결함 허용(Redundancy / Fault Tolerance): 여러 경로가 있어 하나만 고장 나더라도 네트워크 작동을 멈추지 않습니다.
- TCP/IP: 패킷을 전송하고 순서대로 재조립하기 위한 규칙입니다.
- HTTP: 웹이 페이지를 요청하고 전송하기 위해 사용하는 규칙입니다.
Common mistakes
- Data is split into packets that travel separately and are reassembled.
- The Internet and the World Wide Web are not the same thing.
흔한 실수
- 데이터는 개별적으로 이동한 후 재조립되는 패킷으로 나뉩니다.
- 인터넷과 월드 와이드 웹은 동일한 것이 아닙니다.
Now you try
- These tasks model how data really travels: split it, reassemble it, and route around a failure.
- Press Check answer to test your code.
이제 직접 해보기
- 이 작업들은 데이터가 실제로 이동하는 방식을 모델링합니다: 나누기, 재조립, 그리고 고장을 회피하는 경로 지정.
- Answer 확인 버튼을 눌러 코드를 테스트하세요.
Data travels in packets
The Internet splits data into packets that are routed and reassembled.
TCP puts packets back in order by their number. packets is a list of [order, text] pairs that arrived shuffled. Write reassemble(packets) that sorts them by order and returns the joined text. Example: reassemble([[2, "O FR"], [1, "HELL"], [3, "IEND"]]) is "HELLO FRIEND".
Click Run to see the output here. · 출력을 보려면 '실행'을 클릭하세요.
Big data is cut into fixed-size packets. Write split(text, size) that returns a list of [order, chunk] pairs (order starts at 1), each chunk at most size characters. Example: split("HELLO FRIEND", 4) is [[1, "HELL"], [2, "O FR"], [3, "IEND"]].
Click Run to see the output here. · 출력을 보려면 '실행'을 클릭하세요.
Redundancy gives more than one path, so the network can route around a failure. paths is a list of routes (each a list of router names). A route works only if it avoids the broken router. Write working_routes(paths, broken) returning the routes that do not contain broken.
Click Run to see the output here. · 출력을 보려면 '실행'을 클릭하세요.