Chapter 1: Computer Networks and The Internet

Internet

a computer network that interconnects hundreds of millions of computing devices throughout the world; also, an infrastructure that provides services to applications including email, web surfing, social networks, etc.

end systems

hosts (sometimes divided into clients and servers); devices that are connected to each other by a network of communication links and packet switches; at the "edge of the network

communication links

connect end systems together; many different types made up of different types of physical media (coax, copper wire, optical fiber, radio spectrum)

transmission rate

measured in bits/second; rate at which different communication links can transmit data

packets

PDUs; when one end system sends data to another, the sending end system segments the data into these with header bytes added; these are then sent through the network to the destination end system, where they are assembled into the original data; follows a

packet switch

takes a packet arriving on one of its incoming communication links and forwards that packet on one of its outgoing communication links; two most prominent are routers (typically used in access networks) and link-layer switches (typically used in the netwo

route

path; the sequence of communication links and packet switches traversed by a packet from the sending end system to the receiving end system

protocol

heart of the network; defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event; e.g. When you type the URL of a webpage i

Internet Service Providers

ISPs; networks of packet switches and communication links that provide Internet service to end systems; e.g. local cable or telephone companies

RFCs

requests for comments; Internet standards documents developed by the Internet Engineering Task Force (IETF); tend to be technical and detailed; define protocols such as TCP, IP, HTTP, SMTP; over 6,000

TCP

Transmission Control Protocol
one of the main protocols in TCP/IP networks. Whereas the IP protocol deals only with packets, TCP enables two hosts to establish a connection and exchange streams of data. TCP guarantees delivery of data and also guarantees

sliding window protocol

a feature of packet-based data transmission protocols. Sliding window protocols are used where reliable in-order delivery of packets is required, such as in the Data Link Layer (OSI model) as well as in the Transmission Control Protocol (TCP).

network protocol

deterministic (DFA), only one possible action for each message state; time (some concept) - no response for a period of time is also an action; well-defined messages (what makes them up) & how you know that they are done ("OVER"); state (possibly) differe

port number

identifies what application we want to talk to; can specify service but does not represent service; represented by 16-bit integer; popular: FTP (TCP port 21), SSH (TCP port 22), SMTP (TCP port 25), DNS (UDP port 53), HTTP (TCP port 80)

UDP

part of the Internet Protocol suite used by programs running on different computers on a network; used to send short messages called datagrams but overall, it is an unreliable, connectionless protocol

application layer protocol

defines type of message exchanged, syntax of various message types, semantics of various fields, rules for determining when and how a process sends requests and responses; transport protocols are usually one to one (unicast)

HTTP

communication using ____ messages; defines how Web clients request OBJECTS (used to be only web pages) and how servers transfer objects back; HTML is the data (to start), but can be anything (XML, PHP, ASPX, HTML5); objects addressable by URLs

TCP/IP Reference Model

application layer (HTTP, FTP, SMTP, POP3, etc.), transport layer (TCP, UDP, SCTP, DCCP, NORM), internetworking layer (IPv4, IPv6), link layer (Ethernet, Wi-Fi, 3G, 4G, LTE, etc.), physical layer (could be combined with Link Layer as Host to Network Layer

client-server architecture

always-on host called the server, which services requests from many other hosts, called clients; clients do not directly communicate with each other; server has a fixed, well-known address (IP address); because the server is always on client can always co

P2P architecture

minimal or no reliance on dedicated servers in data centers; instead application exploits direct communication between pairs of intermittently connected hosts called peers

network socket

A network ______ is an endpoint of a connection across a computer network. Today, most communication between computers is based on the Internet Protocol; therefore most network sockets are Internet sockets.; can be TCP/UDP (for now)

application layer

DEFINES CONVERSATION BETWEEN APPLICATIONS; where network applications and their application-layer protocols reside; includes many protocols, such as the HTTP protocol (which provides for Web document request and data transfer), SMTP (email), and FTP (file

transport layer

transports application layer messages between application endpoints; in the Internet, there are two transport protocols: TCP and UDP, either of which can transport application layer messages

network layer

ROUTING (finding the overall path); responsible for moving network-layer packets known as datagrams from one host to another; TCP/UDP passes a transport-layer segment and dest. address to the network layer (think mail); network layer then provides service

link layer

to move a packet from one node to the next node in the route, the network layer relies on the services of the _____ _____; services depend on the specific protocol that is employed over the link; some provide reliable delivery (different from TCP); e.g. E

physical layer

job is to move the individual bits within the frame from one node to the next; protocols in this layer are link dependent and depend on the transmission medium of the link (e.g. fiber optics, copper wire, coax)

FTP

client connects to TCP port 21; can change directory (both locally and remotely); can push or pull files (GET/PUT); opens up a separate port for the data transfer (usually TCP port 20, but can be anything); server usually calls client back but can also be

DNS (Domain Name System)

Takes names and translates to IP addresses; Host aliasing - mailserver.drexel.edu and webserver.drexel.edu might be the same machine (point to same IP address);

Secure Sockets Layer (SSL)

Formal name Transport Layer Security or TLS
Turns TCP connection into secure, encrypted TCP connection
DTLS (Datagram TLS) can be used on top of UDP. essentially a protocol that provides a secure channel between two machines operating over the Internet or

SSH

Runs over TCP connection.
Can be used to send application data securely from one application to another (tunneling)

distributed applications

applications such as email, web surfing, social networks, instant messaging, etc. that involve multiple end systems that exchange data with each other; Internet provides services to these applications; run on end systems, not packet switches in the networ

API

Applications Programming Interface; specifies how a program running on one end system asks the Internet infrastructure to deliver data to a specific destination program running on another end system

client

uses service provided by server (e.g. desktop and mobile PCs, smartphones)

server

provides service to client (e.g. more powerful machines that store and distribute Web pages, stream video, etc.)

access network

the network that physically connects an end system to the first router (also know as the "edge router") on a path from the end system to any other distant end system

store-and-forward transmission

used by packet switches; the packet switch must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link

router

type of packet switch; needs to receive, store, and process the entire packet before forwarding

virtual circuit

logical connection is established between source and destination; connection "oriented"; all data gets routed over the same path (est. before data transfer)

datagram

connectionless; each packet gets routed independently (no established path)

network comparison

picture