-
TC/IP
-
Glossary
-
ARPANET
- The earliest version of the Internet that we see today, created by the US government project DARPA in the 1960s
-
Children's Online Privacy Protection Act (COPPA)
- Regulates the information we show to children under the age of 13
-
DARPA
- A US government project in the 1960s that went on to create the earliest version of the Internet that we see today
-
Internet Corporation for Assigned Names and Numbers (ICANN)
- Where website names are registered
-
Internet service provider (ISP)
- A company that provides a consumer an internet connection
-
Network Address Translation
- A mitigation tool that lets organizations use one public IP address and many private IP addresses within the network
-
Transfer Control Protocol (TCP)
- A protocol that handles reliable delivery of information from one network to another
-
Uniform Resource Locator (URL)
- A web address similar to a home address
-
Layers
-
Application
- HTTP, SMTP, ...
- Messages
-
General
- Allows network applications to communicate in a way they understand
- Open Systems Interconnection model (OSI)
- layers
- Application
- Presentation
- Responsible for making sure that the unencapsulated application layer data is able to be understood by the application in question
- handle encryption or compression data
- Session
- Responsible for facilitating the communication between actual applications and the transport layer
- Takes application layer data and hands it off to the presentation layer
- Transport
- Network
- Data link
- Phisical
- Network time protocol (NTP)
- Used to keep all computers on a network synchronized in time
-
Transport
- TCP/UDP
-
Segment
- TCP Segment
- Made up of a TCP header and data section
- scheme
- Destination port
- the port of the service the traffic is intend for
- Source port
- A high-numbered port chosen from a special section of ports known as ephemeral ports
- Sequence number
- A 32-bit number that's used to keep track of where in a sequence of TCP segments this one expected to be
- which segment out of many this particular segment might be
- Acknowledgment number
- The number of the next expected segment
- Control flags
- URG (urgent)
- A value of one here indicates that segment is considered urgent and that the urgent pointer field has more data about this
- ACK (acknowledged)
- A value of one in this field means that the acknowledgement number field should be examined
- PSH (push)
- The transmitting device wants the receiving device to push currently-buffered data to the application on the receiving end as soon as possible
- RST (reset)
- One of the sides in a TCP connection hasn't been able to properly recover from a series of missing of malformed segments
- SYN (synchronize)
- It's used when first establishing a TCP connection and makes sure the receiving end knows to examine the sequence number field
- FIN (finish)
- When this flag is set to one, it means the transmitting computer doesn't have any more data to send and the connection can be closed
- Data offset field
- A 4-bit number that communicates how long the tcp header for this segment is
- TCP window
- Specifies the range of sequence numbers that might be sent before an acknowledgement is required
- Urgent pointer field
- Used in conjunction with one of the TCP control flags to point out particular segments that might be more important than others
- rarely used
- Options
- It is sometimes used for more complicated flow control protocols
- Padding
- a sequence of zeros to ensure that the data payload section begins at the expected location
- The three-way handshake
- To start the process off computer A sends a TCP segment to Computer B, with a SYN flag sent. This is computer A's way of saying, let's establish a connection and look at my sequence number field so we know where this conversation starts.
- Computer B then responds with a TCP segment where both the SYN and ACK flags are sent. This is Computer B's way of saying, sure, let's establish a connection and I acknowledge your sequence number.
- Then Computer A responds again with just the ACK flag sent, which is just saying I acknowledge your acknowledgement, let's start sending data.
- Once the three-way handshake is complete, the TCP connection is established. Now, Computer A is free to send whatever data it wants to Computer B and vice versa. Since both sides have now sent SYN/ACK pairs to each other, a TCP connection in this state is operating in full duplex.
- Once one of the devices involved with the TCP connection is ready to close the connection, something known as a four-way handshake happens. The computer ready to close the connection sends a FIN flag, which the other computer acknowledges with an ACK flag. Then if this computer is also ready to close the connection, which will almost always be the case, it will send a FIN flag. This is again responded to by an ACK flag. Hypothetically, a TCP connection can stay open in simplex mode with only one side closing the connection, but this isn't something you'll run into very often.
- UDP
- The client sends a packet to the server via UDP. UDP does not include SYN-ACK or handshake.
- UDP packet
- The packet is carrying the header and data for the server. The header has information about the origin and destination IP addresses for the packet. The data is the payload of the packet.
-
Port
- A 16-bit number that's used to direct traffic to specific services running on a networked computer
- System Ports versus Ephemeral Ports
- Network services are run by listening to specific ports for incoming data requests. A port is a 16-bit number used to direct traffic to a service running on a networked computer. A "service" (or "server") is a program waiting to be asked for data. A "client" is another program that requests this data from the other end of a network connection. This reading explains how the Transmission Control Protocol (TCP) uses ports and sockets to establish a network connection and deliver data between services and clients.
- Types
- System Ports
- System Ports are identified as ports 1 through 1023. System ports are reserved for common applications like FTP (port 21) and Telnet over TLS/SSL (port 992). Many still are not assigned. Note: Modern operating systems do not use system ports for outbound traffic.
- 1-1023
- User Ports
- User Ports are identified as ports 1024 through 49151. Vendors register user ports for their specific server applications. The IANA has officially registered some but not all of them.
- 1024-49151
- Ephemeral Ports (Dynamic or Private Ports)
- Ephemeral Ports (Dynamic or Private Ports) are identified as ports 49152 through 65535. Ephemeral ports are used as temporary ports for private transfers. Only clients use ephemeral ports.
- 49152-65535
- Socket
- A socket is a port that a TCP segment has activated to listen for data requests.
- Ports allow services to send data to your computer but can also send malware into a client program. It's important to secure your ports.
-
General
- Allows traffic to be directed to specific network applications
- traffic
- multiplexing
- demultiplexing
- Socket
- The instantiation of an end-point in a potential TCP connection
- States
- LISTEN
- A TCP socket is ready and listening for incoming connections
- SYN_SENT
- A synchronization request has been sent, but the connection hasn't been established yet
- client
- SYN-RECEIVED
- A socket previously in a LISTEN state has received a synchronization request and sent a SYN/ACK back
- server
- ESTABLISHED
- The TCP connection is in working order and both sides are free to send each other data
- FIN_WAIT
- A FIN has been sent, but the corresponding ACK from the other end hasn't been received yet
- CLOSE_WAIT
- The connection has been closed at the TCP layer, but that the application that opened the socket hasn't released its hold on the socket yet
- CLOSED
- The connection has been fully terminated and that no further communication is possible
- Instantiation
- The actual implementation of something defined elsewhere
- Connection-oriented protocol
- Established a connection, and uses this to ensure that all data has been properly transmitted
- Transmission Control Protocol (TCP)
- Connectionless protocols
- UDP
- User Datagram Protocol
- video streaming
- Firewalls
- A device that blocks traffic that meets certain criteria
-
Network
- IP
-
Packet/Datagram
- IP datagram
- A highly structured series of fields that are strictly defined
- version
- ip version
- Header lenght
- Almost always 20bytes in length when dealing with IPv4
- service type
- these 8 bits can be used to specify details about quality of service, or QoS, technologies
- total length
- indicates the total length of the IP datagram it's attached to
- Identification
- a 16-bit number that's used to group messages together
- flag
- used to indicate is a datagram is allowed to be fragmented, or to indicate that the datagram has already been fragmented
- Fragmentation
- The process of taking a single IP datagram and splitting it up into several smaller datagrams
- TTL
- Time to live - an 8-bit field that indicates how many router hops a datagram can traverse before it's thrown away
- protocol
- Another 8-bit field that contains data about what transport layer protocol is being used
- header checksum
- A checksum of the contents of the entire IP datagram header
- Options
- An optional field and is used to set special characteristics for datagrams primarily used for testing purposes
- Padding
- a series of zeros used to unsure the header is the correct total size
- The maximum size of a single datagram is the largest number you can represent with 16 bits
- 65 535
- if the total amount of data that needs to be send is larger than what can fit in a single datagram, the IP layer needs to split this data up into many individual packets
-
IP Address
- IPv4 Addresses
- 32 bit
- 4 octets
- 4 x 0-255
- Sections
- Network ID
- Host ID
- Address class system
- A way of defining how the global IP address space is split up
- Class A
- [123.][48.30.100]
- first octet - is network id
- 2,3,4 octet - are host id
- Class B
- 2 octets - network ID
- 2 octets - host id
- Class C
- 3/1 - network id/host id
- IP addresses belong to networks, not to the devices attached to those networks
- types
- Dynamic IP address
- Static IP address
- In most cases, static IP addresses are reserved for servers and network devices, while dynamic IP addresses are reserved for clients
-
General
- ARP
- Address resolution protocol
- A protocol used to discover the hardware address of a node with a certain IP address
- ARP table
- A list of IP addresses and the MAC addresses associated with them
- ARP table entries generally expire after a short amount of time to ensure changes in the network are accounted for
- Subnetting
- The process of taking a large network and splitting it up into many individual and smaller subnetworks, or subnets
- Incorrect subnetting setups are a common problem you might run into as an IT support specialist, so it's important to have a strong understanding of how this works
- Subnet masks
- 32-bit numbers that are normally written out as four octets in decimal
- 1
- the ignored part - subnet id
- 0
- valuable - host id
- example
- 255.255.255.224
- 11111111.11111111.11111111.11100000
- 5 bits
- 32 - 5 = 27 x 1 digits
- 9.100.100.100/27
- CIDR
- Classless Inter-Domain Routing
- / notation for the mask
- Demarcation point
- To describe where one network or system ends and another one begins
- Routing
- RFC
- Request for comments
- Router
- The network device that forwards traffic depending on the destination address of that traffic
- Basic routing
- Receive data packet
- Examine destination IP
- Looks up IP destination network in routing table
- Forwards traffic to destination
- Routing tables
- Basic
- Destination Network
- This column would contain a row for each network that the router knows about
- Next Hop
- This is IP address of the next router that should receive data intended for the destination networking question
- Total Hops
- the Metric indicates the associated cost of using the indicated route.
- Interface
- The Interface indicates what locally available interface is responsible for reaching the gateway.
- Example
- Routing Protocols
- These are special protocols the routers use to speak to each other in order to share what information they might have
- Autonomous system
- A collection of networks that all fall under the control of a single network operator
- main categories
- interior gateway protocols
- categories
- Link state routing protocols
- Every router on the system knows every detail about every other router in system
- Require both more memory in order to hold all of this data and much more processing power
- example
- BGP, or Border Gateway Protocol (IETF RFC4271)
- Distance-vector protocols
- older standard
- the router sends the list (routing table) to every neighboring router (every router directly connected to it). The list is a vector
- routers don't really know that much about the total state of an autonomous system
- examples
- RIP, or Routing Information Protocol (IETF RFC2453)
- EIGRP, or Enhanced Interior Gateway Routing Protocol
- Used by routers to share information within a single autonomous system
- exterior gateway protocols
- Used for the exchange of information between independent autonomous systems
- Non-routable address space
- They are ranges of IPs set asides for use by anyone that cannot be routed to
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
- NAT
- Network address translation
- Organizations
- Internet Assigned Numbers Authority (IANA)
- A non-profit organization that helps manage things like IP address allocation
- Autonomous System Number (ASN) allocation
- Numbers assigned to individual autonomous system
- 32 bits
- decimal number without splitting
- Internet Engineering Task Force (IEFT)
- Many network protocols are implemented based on specifications published by the Internet Engineering Task Force (IETF).
-
Data Link
- Ethernet, Wi-Fi
-
Frames
- Ethernet frame
- A highly structured collection of information presented in a specific order
- SFD
- last byte in the Preamble
- Start frame delimiter
- Signals to a receiving device that the preamble is over and that the actual frame contents will now follow
- Destination address
- MAC address
- Ether-type
- 16 bits long and used to describe the protocol of the contents of the frame
- VLAN header
- Indicates that the frame itself is what's called a VLAN frame
- If a VLAN header is present, the EtherType field follows it
- Virtual LAN (VLAN)
- A technique that lets you have multiple logical LANs operating on the same physical equipment
- Payload
- In networking terms, is the actual data being transported, which is everything that isn't a header
- all data for next layers
- Frame check sequence (FCS)
- A 4-byte (or 32-bit) number that represents a checksum value for the entire frame
- This checksum value is calculated by performing what's known as a cyclical redundancy check against the frame
- Cyclical redundancy check (CRC)
- An important concept for data integrity, and is used all over computing, not just network transmissions
-
MAC Address
- A globally unique identifier attached to an individual network interface
- It is a 48-bit number normally represented by six groupings of two hexadecimal numbers
- Octet
- in a computer networking, any number that can be represented by 8 bits
- Organizationally Unique Identifier (OUI)
- The first three octets of a MAC address
- MAC(Media Access Control) address
- common way of interpreting signals
-
General
- Ethernet
- The protocol most widely used to send data across individual links
- CSMA/CD
- Used to determine when the communications channels are clear, and when a device is free to transit data
- Carrier-Sense Multiple Access with Collision Detection (CSMA/CD)
- Unicast
- A unicast transmission is always meant for just one receiving address
- If the least significant nit in the first octet of a destination address is set to zero, it means that ethernet frame is intended for only the destination address
- Multicast
- If the least significant bit in the first octet of a destination address is set to one, it means you're dealing with multicast frame
- Broadcast
- sent to every single device on a LAN
- broadcast address
- all F
- FF:FF:FF:FF:FF:FF
- Data packet
- An all-encompassing term that represents any single set of binary data being sent across a network link
-
Phisical
- Bits
- devices
-
General
- Modulation
- A way of varying the voltage of this charge moving across the cable
- Duplex communication
- The concept that information can flow in both directions across the cable
- Simplex communication
- This process is undirectional
- cables
- Twisted pair cable
- the most common type of cabling used for connection computing devices
- It features pairs of copper wires that are twisted together
- Types
- Unshielded twisted pair (UTP)
- The most common and least expensive type of Ethernet cable found in business and home networks. UTP cables offer very basic protection against EMI, RFI, and crosstalk interference.
- Shielded twisted pair (STP)
- Used in environments where electromagnetic interference (EMI), radio frequency interference (RFI), and crosstalk with nearby cables have been identified as a problem for network communications. An STP cable uses a braided aluminum and/or copper shielding to encase the four twisted pairs underneath the outer jacket.
- Foiled twisted pair (FTP)
- Also used in environments where EMI, RFI, and crosstalk are a problem. An FTP cable uses a thin foil shield that wraps around the bundle of twisted pair wires underneath the outer jacket.
- Straight-through cable
- key
- Computers and routers use
- Pins 1 & 2 - Orange wires for sending data
- Pins 3 & 6 - Green wires for receiving data
- Hubs and switches use
- Pins 1 & 2 - Green wires for sending data
- Pins 3 & 6 - Orange wires for receiving data
- Straight-through cables are also known as patch cables. They are the primary type of Ethernet cable used in computer networks. Straight-through cables normally connect computers and routers to hubs and Ethernet switches. Ethernet cable can also connect servers to Ethernet switches.
- Twisted pair Ethernet: Crossover cable
- Crossover cables are used to connect two computing devices directly to one another. As an IT Support specialist, you might use a short crossover cable to connect an IT administrator laptop directly to an Enterprise machine (e.g., server, switch, router, hub, etc.). This type of connection is normally used to update, repair, and perform other administrative tasks on the Enterprise machine. A crossover cable should be connected between the Ethernet port/Network Interface Card (NIC) on the IT administrative system and the management port of the Enterprise machine. This connection is then used to access the operating system and/or the management interface of the Enterprise machine. Additionally, crossover cables can connect two switches, two hubs, or a switch to a hub, as well as two routers, two PCs, or a router to a PC.
- key
- Endpoint 1 of the Ethernet cable
- Pins 1 & 2 - Green wires for sending data
- Pins 3 & 6 - Orange wires for receiving data
- Endpoint 2 of the Ethernet cable:
- Pins 1 & 2 - Orange wires for sending data
- Pins 3 & 6 - Green wires for receiving data
- ports
- RJ45
- yellow - Link LED
- Cable properly connected to two devices that are both powered on
- green - Activity LED
- Would flash when data actively transmitted across the cable
- Line coding
- Modulation used for computer networks
-
schemes
-
Example
- Description
-
Devices
-
Cables
-
Cooper
-
forms
- Cat5
- Cat5e
- Cat6
-
Crosstalk
- When an electrical pulse on one wire is accidentally detected on another wire
-
Fiber
- Contain individual optical fibers, which are tiny tubes made out of glass about the width of a human hair
-
Single network
-
Hub
- A physical layer device that allows for connections from many computers at once
-
Collision domain
- A network segment where only one device can communicate at a time
- Physical
-
Switch
- Data Link
- switch vs hub
-
LAN
- local area network
-
Router
- A device that knows how to forward data between independent networks
- Network layer
-
Border Gateway Protocol (BGP)
- Router share data with each other via this protocol, which lets them learn about the most optimal paths to forward traffic
-
Internetwork
- A collection of networks connected together through routers - the most famous of these being the Internet
- Servet/Client
-
Connections and protocols
-
Dial-up and Modems
- Public Switched Telephone Network (PSTN)
- Plain Old Telephone Service (POTS)
-
A dial-up connection uses POTS for data transfer, and gets its name because the connection is established by actually dialing a phone number
-
Baud rate
-
A measurement of how many bits can be passed across a phone line in a second
- 1950s - 110 bits per second
- 1990s 14.4 Kbits per second
-
Broadband
- Any connectivity technology that isn't dial-up internet
-
T-carrier technologies
- Originally invented by AT&T in order to transmit multiple phone calls over a single link
-
Transmission System 1 specification
- invented a way to carry up to 24 simultaneous phone calls across a single piece of twisted pair copper.
- Each of the 24 phone channels was capable of transmitting data at 64 kilobits per second, making a single T1 line capable of transmitting data at 1.544 megabits per second. Over the years, the phrase T1 has come to mean any twisted pair copper connection capable of speeds of 1.544 megabits per second.
- AT3 line is 28 T1s all multiplexed, achieving a total throughput speed of 44.736 megabits per second.
-
Digital Subscriber Lines (DSL)
- digital subscriber line access multiplexers (DSLAMs)
-
types
- ADSL
- Asymmetric Digital Subscriber Line
- ADSL connections feature different speeds for outbound and incoming data. Generally, this means faster download speeds and slower upload speeds.
- SDSL
- Symmetric Digital Subscriber Line
- Most SDSL technologies have an upper cap of 1.544 megabits a second or the same as a T1 line.
- HDSL
- High bit-rate Digital Subscriber Lines.
- These are DSL technologies that provision speeds above 1.544 megabits per second.
-
Cable
-
Cable modem
- The device that sits at the edge of a consumer's network and connects it to the cable modem termination system, or CMTS
-
Fiber
-
FTTX
- FTTN
- fiber to the neighborhood.
- FTTB
- fiber to the building, fiber to the business, or even fiber to the basement.
- is a setup where fiber technologies are used for data delivery to an individual building
- FTTH
- fiber to the home
- FTTP
- fiber to the premises
-
Point to Point Protocol (PPP)
- Point to Protocol (PPP) is a byte-oriented protocol broadly used for high-traffic data transmissions. PPP functions at the data link layer, which transmits data between two devices on the same network. PPP is designed to link devices, so the endpoints do not need to be the same vendor to work.
-
options
- Multilink connection provides a method for spreading traffic across multiple distinct PPP connections.
- Compression increases throughput by reducing the amount of data in the frame.
- Authentication occurs when connected devices exchange authentication messages using one of two methods:
- Password Authentication Protocol (PAP) is a password authentication option that is hard to obtain plaintext from if passwords are compromised.
- Challenge Handshake Authentication Protocol (CHAP) is a three-way handshake authentication that periodically confirms the identity of the clients.
- Error detection includes Frame Check Sequence (FCS) and looped link detection.
- Frame Check Sequence (FCS) is a number included in the frame calculated over the Address, Control, Protocol, Information, and Padding fields used to determine if there has been data loss during transmission.
- Looped link detection in PPP detects looped links using magic numbers. A magic number is generated randomly at each end of the connection, so when a looped message is received, the device checks the magic number against its own. If the line is looped, the number will match the sender's magic number, and the frame is discarded.
-
Sub-protocols for PPP
- Network Control Protocol (NCP)
- will be used to negotiate optional configuration parameters and facilities for the network layer. There is an NCP for each higher layer protocol used by the PPP.
- Link Control Protocol (LCP)
- initiates and terminates connections automatically for hosts. It automatically configures the interfaces at each end like magic numbers and selecting for optional authentication.
-
PPP Frame
- Data is sent using PPP in a frame. A frame is a collection of data sent to a receiving point.
- Flag
- is a single byte and lets the receiver know this is the beginning of the frame. Depending on the encapsulation, there may or may not be a start flag or an end flag.
- Address
- is a single byte, and it contains the broadcast address.
- Control
- is a single byte required for various purposes but also allows a connectionless data link.
- Protocol
- varies from one to three bytes which identify the network protocol of the datagram.
- Data
- is where the information you need to transmit is stored and has a limit of 1500 bytes per frame.
- Frame check sequence (FCS)
- is 2 or 4 bytes and is used to verify data is intact upon receipt at the endpoint.
- When the data is packaged in a frame, it undergoes encapsulation.
- Encapsulation
- Encapsulation is the process by which each layer takes data from the previous layer and adds headers and trailers for the next layer to interpret.
- PPP can get expensive and hard to manage due to all the direct cables and links required. In this case, you may want to switch to a multi-access Ethernet solution. Point to Point Protocol over Ethernet is a protocol made to bridge the gap between directly connected endpoints and other devices.
-
Point to Point Protocol over Ethernet (PPPoE)
- Point to Point protocol over Ethernet (PPPoE) is a way of encapsulating PPP frames inside an ethernet frame. PPPoE is a solution for tunneling packets over the DSL connection service provider's IP network and from there to the rest of the Internet. Like PPP, PPPoE provides authentication, encryption, and compression, though it primarily uses Password Authentication Protocol (PAP) for authentication.
- A common use case is PPPoE using DSL services where a PPPoE modem-router connects to the DSL service or when a PPPoE DSL modem is connected to a PPPoE-only router using an Ethernet cable.
- PPP is strictly point-to-point, so frames can only go to the intended destination. PPPoE requires a new step because ethernet connections are multi-access enabled (every node connects to another). This requires an additional step called the discovery stage. The discovery stage establishes a session ID to identify the hardware address. This stage ensures data gets routed to the correct place.
- PPPoE is an encapsulation of PPP inside an ethernet frame. PPPoE retains the same architecture, configuration options, and frame data as PPP but with one extra layer of ethernet encapsulation.
-
Wide Area Network Technologies (WANs)
- Acts like a single network, but spans across multiple physical locations
-
WAN router
- Hardware devices that act as intermediate systems to route data amongst the LAN member groups of a WAN (also called WAN endpoints) using a private connection. WAN routers may also be called border routers or edge routers. These routers facilitate an organization’s access to a carrier network. WAN routers have a digital modem interface for the WAN, which works at the OSI link layer, and an Ethernet interface for the LAN.
-
Software-Defined WAN (SD-WAN)
- Software developed to address the unique needs of cloud-based WAN environments. SD-WANs can be used alone or in conjunction with a traditional WAN. SD-WANs simplify how WANs are implemented, managed, and maintained. An organization’s overall cost to operate a cloud-based SD-WAN is significantly less than the overall cost of equipping and maintaining a traditional WAN. One of the ways that SD-WANs help reduce operational costs is by replacing the need for expensive lines leased from an ISP by linking regional LANs together to build a WAN.
-
WAN optimization
-
Compression
- Reducing file sizes to improve network traffic efficiency. There are many compression algorithms available for text, image, video, etc. The sender and the receiver will need apps that offer the same compression/decompression algorithm to encode and decode the compressed files.
-
Deduplication
- Prevents files from being stored multiple times within a network to avoid wasting expensive hard drive space. One copy of the file is kept in a central location. All other “copies” are actually file pointers to the single copy of the file. This saves valuable hard drive space, makes performing data backups more efficient, and reduces the amount of time needed to recover from data loss disasters.
-
Protocol Optimization
- Improves the efficiency of networking protocols for applications that need higher bandwidth and low latency.
-
Local Caching
- Storing local copies of network and internet files on a user’s computer to reduce the need to resend the same information across the network every time the file is accessed. Some WAN optimization products can cache shared files at one physical LAN location when groups of employees at the location tend to request the same set of files frequently.
-
Traffic Shaping
- Optimizing network performance by controlling the flow of network traffic.
- bandwidth throttling
- controlling network traffic volume during peak use times
- rate limiting
- capping maximum data rates/speeds
- use of complex algorithms
- classifying and prioritizing data to give preference to more important traffic (e.g., an organization might want to prioritize private LAN-to-LAN traffic within the organization’s WAN and give a lower priority to employees accessing the public Internet).
-
WAN Protocols
-
WAN Internet Protocols are used in conjunction with WAN routers to perform the task of distinguishing between a private LAN and the related public WAN.
- Packet switching
- A method of data transmission. In packet switching, messages are broken into multiple packets. Each packet contains a header that includes information on how to reassemble the packets, as well as the intended destination of the packets. As a measure to prevent data corruption, the packets are triplicated. The triplicated packets are sent separately over optimal routes through the internet. Then, once the packets reach their destination, they are reassembled. The triplicate copies are compared with one another to detect and correct any data corruption that occurred during transmission (at least two of the three copies should match). If the data cannot be reassembled and/or data corruption is evident in all three copies, the destination will make a request to the origin to resend the packet.
- Frame relay
- Also a method of data transmission. Frame relay is an older technology originally designed for use on Integrated Services Digital Network (ISDN) lines. However, the technology is now used in other network interfaces. Frame relays are used to transmit data between endpoints of a WAN through a packet switching method that works at the OSI data link and physical layers. A fast data communications network, called a Frame Relay Network, is used to transport data packets in frames. The reliability of Frame Relay Networks minimizes the need for error checking. The frames include routing address information for the destination.
- Permanent Virtual Circuits (PVCs)
- Used for long-term data connections. Stays open even when data is not being transmitted.
- Switched Virtual Circuits (SVCs)
- Used in temporary session connections for sporadic communications.
- Asynchronous Transfer Mode (ATM)
- ATM is an older technology that encodes data using asynchronous time-division multiplexing. The encoded data is packaged into small, fixed-sized cells. ATM can send the cells over a long distance, which makes it useful for WAN communications. ATMs uses routers as end-points between ATM networks and other networks. ATM technology has been replaced for the most part by Internet Protocol (IP) technologies.
- High Level Data Control (HLDC)
- An encapsulation or data link protocol that delivers data frames through a network. The frames include multiple fields that can hold information about start and end flags, controls, Frame Check Sequence (FCS), and protocol used. HLDC was developed to use multiple protocols to replace Synchronous Data Link Control (SLDC), which used only one protocol. HDLC includes error correction, flow control, and data transmission through polling. HDLC has three modes to define the relationship between two devices, or nodes, during communications
- Normal Response Mode (NRM)
- Primary node must give permission to the secondary node to transmit.
- Asynchronous Response Mode (ARM)
- Primary node allows the secondary node to initiate communication.
- Asynchronous Balanced Mode (ABM)
- Both nodes can act as either the primary or secondary nodes. They can each initiate communications without permission.
- Packet over Synchronous Optical Network (SONET) or Synchronous Digital Hierarchy (SDH)
- A communication protocol used for WAN transport. The SONET or SDH communication protocols define how point-to-point links communicate over fiber optics cables.
- Multiprotocol Label Switching (MPLS)
- A technique for optimizing network routing. MPLS replaces inefficient table lookups for long network addresses with short path labels. These labels direct data from node to node.
-
local loop
- the area between a demarcation point and the ISP's core network
- The demarcation point is the point at which the responsibility for the transmission of data shifts from the customer to the service provider, and the ISP's core network is the main part of the network that handles the traffic between different locations. The last mile is typically the most expensive and difficult part of the network to maintain, as it involves connecting the customer's premises to the service provider's network over long distances, often using a variety of technologies such as copper wires, fiber optic cables, and wireless connections.
-
Point-to-Point VPNs
-
Wireless Networking
-
IEEE 802.11
-
specifications
- 802.11b
- (1999) - Wi-Fi 1
- Designed for 2.4 GHz frequency band only
- Offered a maximum data rate of 11 Mbps
- Offered a maximum signal range of 450 feet (140 m)
- Defined 14 overlapping channels (frequent cause of interference)
- 802.11a
- (1999) - Wi-Fi 2
- Designed for 5 GHz frequency band only
- Offered a maximum data rate of 54 Mbps
- Offered a maximum signal range of 400 feet (120 m)
- Defined 23 non-overlapping channels at 20 MHz wide
- 802.11g
- (2003) update to 802.11b - Wi-Fi 3
- Improved 2.4 GHz frequency band only
- Increased the maximum data rate to 54 Mbps
- 802.11n
- (2009) bandwidth increase - Wi-Fi 4
- Improved both 2.4 GHz and 5 GHz frequency bands
- Access points could offer “dual-band” support with each band implemented by a separate radio.
- Increased bandwidth and reliability with “multiple input multiple output" (MIMO) technology.
- Allowed “channel bonding” for 5 GHz (two adjacent channels could be combined).
- Increased the maximum data rate to 72 Mbps per stream and 150 Mbps per stream for bonded channels. With specific configurations, the maximum data rate could be as high as 600 Mbps.
- Increased maximum signal range of 825 feet (250 m)
- 802.11ac
- (2014) and Wave 2 (2015) bandwidth increases - Wi-Fi 5
- Improved the 5 GHz frequency band only, though access points could still offer dual band support for older 2.4 GHz specifications.
- Access points could offer triband support (one 2.4 GHz and two 5 GHz radios).
- Supported wider bonded channels at 80 and 160 MHz.
- Allowed up to eight streams with each 80 MHz channel.
- Increased maximum data rates to 1 Gbps and could be as high as 2.2 Gbps for specific configurations. Wave 2 increased the maximum data rate to 6.9 Gbps.
- Increased sent data transmissions to up to 4 clients at the same time. This was achieved by allowing access points to use multiple antennas through downlink multiuser MIMO (DL MU-MIMO) technology.
- 802.11ax
- (2019) bandwidth increases - Wi-Fi 6
- Improved data stream rates to 600 Mbps per 80 MHz channel, with combined data rates of over 1 Gbps for the 2.4 GHz frequency and 4.8 Gbps for the 5 GHz frequency.
- Increased sent data transmissions to up to 8 clients at the same time with downlink MU-MIMO.
- Added support for full-duplex MU-MIMO to receive uplink data from multiple client devices.
- Added support for “orthogonal frequency division multiple access” (OFDMA), which works with MU-MIMO to sustain high data rates during periods of high client device traffic.
- Requires all client devices to use WPA3 security protocols.
- Wi-Fi 6e (2020) bandwidth increases
- Added support for a new 6 GHz frequency band, which has a combined maximum data rate speed of 10 Gbps (shared by multiple devices).
- Added new channels to reduce interference.
- Improved frequency space for 80 and 160 MHz channels.
- Table
-
DataFrame
- physical and data link layers
- Frame Control
- Is 16 bits long and contains a number of subfields that are used to describe how the frame itself should be processed
- version was used
- Duration
- It specifies how long the total frame is, so the receiver knows how long it should expect to have to listen to this transmission
- 4 addresses
- Wireless access point
- A device that bridges the wireless and wired portions of a network
- Source address
- Receiver address
- The MAC address of the access point that should receive the frame
- Transmitter address
- The MAC address of whatever has just transmitted the frame
- Sequence control
- Is 16 bits long and mainly contains a sequence number used to keep track of the ordering of frames
- Data payload
- Has all of the data of the protocols further up the stack
- Fram check sequence field (FCS)
- Contains a checksum used for a cyclical redundancy check, just like how ethernet does it
- Institute of Electrical and Electronics Engineers (IEEE)
- In 1997, the Institute of Electrical and Electronics Engineers (IEEE) ratified the first 802.11 standard for wireless fidelity (later branded as Wi-Fi)
-
The various amended 802.11 specifications use the same fundamental data link protocol. However, some characteristics may vary at the OSI physical layer, including
- signal ranges
- modulation techniques
- transmission bit rates
- frequency bands
- channels
-
Frequency band
- A certain section of the radio spectrum that's been agreed upon to be used for certain communications
-
WiFi
- 2.4 GHz
- Advantages
- Has the longest signal range from 150 feet (45 meters) indoors to 300 feet (92 meters) outdoors.
- Can pass through walls and other solid objects.
- Disadvantages
- The long signal range also increases the chances of Wi-Fi traffic being intercepted by cybercriminals.
- Includes a limited number of channels. Can range from 11 to 14 channels, depending on regulations in the country of use.
- Can experience network traffic congestion and interference with other Wi-Fi networks and wireless technologies, such as BlueTooth, that overlap the 2.4 GHz frequency bands.
- Microwave ovens also work in the 2.4 GHz frequency band and can cause Wi-Fi interference.
- Under specific conditions, the maximum achievable data rate is 600 Mbps.
- 5 GHz
- Advantages
- Includes significantly more channels than 2.4 GHz.
- Experiences fewer interference problems and less wireless network traffic congestion than 2.4 GHz.
- Can achieve over 2 Gbps data transfer speeds under specific conditions.
- Disadvantages
- The wireless range is limited to 50 feet (12 meters) indoors and 100 feet (30 meters) outdoors.
- Does not penetrate walls and other solid objects as well as 2.4 GHz.
- Wi-Fi 6
- 802.11ax
- is one of the largest leaps in Wi-Fi technology since its introduction
- The Wi-Fi 6 network protocol is faster and more efficient for networks with a larger number of connected devices.
- Benefits of Wi-Fi 6
- Higher data rates
- Band splitting or increased client group sizes allow for uploading and downloading greater amounts of data.
- Increased band capacity
- Band utilization increased from 80mHz to 160mHz, creating a faster connection from the router to connected devices
- Better performance
- The input/output streams are doubled from the 4 by 4 allowed by Wi-Fi 5, to 8 by 8 in Wi-Fi 6, allowing more clients to be grouped
- Improved power efficiency
- Devices only connect to the network when sending or receiving data, increasing battery life.
- Capabilities of Wi-Fi 6
- Channel sharing
- for better efficiency and shortens the time it takes to send data once a user gives the send command.
- Target Wake Time (TWT)
- improves the network speed and increases battery life by allowing battery-powered devices to sleep when not in use.
- Multi-user MIMO (Multiple Input, Multiple Output)
- wireless technology allows more data to be transferred simultaneously. This ability increases capacity and efficiency in high bandwidth applications like voice calls or video streaming.
- 160 MHz channel utilization
- gives more space for transmitting data and increases bandwidth capability.
- 1024 Quadrature amplitude modulation
- combines two signals into a single channel, so more data is encoded.
- Orthogonal Frequency Division Multiple Access (OFDMA)
- allows for bandwidth splitting, which is assigned dynamically by the access point to separate devices.
- Transmit beamforming
- is a technique that sends signals that allow for more efficient higher data rates by targeting each connected device.
- Wi-Fi 6E extends Wi-Fi 6 into 6 GHz
- Wi-Fi 6E is an additional certification for Wi-Fi 6 that has all of the features of Wi-Fi 6 but adds a third 6 GHz band. Wi-Fi 6E has more channels to use to broadcast, including 14 more 80MHz channels and seven more 160MHz channels. The additional channels allow networks with Wi-Fi 6E for better performance even when streaming high-definition video or using virtual reality devices.
- dynamic frequency selection (DFS)
-
Wireless Network Configurations
-
Ad-hoc networks
- There are ad-hoc networks where nodes all speak directly to each other.
- In an ad-hoc network, there isn't really any supporting network infrastructure
-
Wireless LANS or WLANS
- where one or more access points act as a bridge between a wireless and a wired network
-
Mech networks
- which are a hybrid of the two.
-
Wireless Channels
-
Channels
- Individual, smaller sections of the overall frequency band used by a wireless network
-
Collision domain
- Any one network segment where one computer interrupt another
-
Wireless Security
-
Wired Equivalent Privacy (WEP)
- An encryption technology that provides a very low level of privacy
- WEP only uses 40 bits for its encryption keys and with the speed of modern computers this can usually be cracked in just a few minutes.
-
Wifi Protected Access (WPA)
- WPA by default uses a 128-bit key, making it a whole lot more difficult to crack than WEP
-
WPA2
- WPA2 uses a 256 bit key, make it even harder to crack
-
MAC filtering
- You configure your access points to only allow for connections from a specific set of MAC addresses belonging to devices you trust
- This doesn't do anything more to help encrypt wireless traffic being sent through the air, but it does provide an additional barrier preventing unauthorized devices from connecting to the wireless network itself.
-
WPA3
- WPA3 is built upon the WPA2 protocol and is intended to replace WPA2. The WPA3 protocol introduces new features and methods to repair the security weaknesses of WPA2.
- Benefits
- Simplified wireless security
- Stronger authentication
- Powerful encryption
- Stable business continuity
- Enhanced security methods
- Replacement for legacy protocols
- Protected Management Frames (PMF) requirement for enterprise networks
- Simultaneous Authentication of Equals (SAE)
- Personal Pre-Shared Key (PSK)
- handshake protocol
- Pairwise Master Key (PMK)
- The PMK uses password-based authentication and is shared between a Wi-Fi access point and a wireless device.
- The SAE authentication also reduces the probability of successful dictionary and brute force attacks, in which cybercriminals try to crack short, weak, and commonly used passwords. Additionally, SAE corrects a weakness exploited by cybercriminals who could perform key reinstallation attacks (KRACKs) when in close proximity to a Wi-Fi user. This type of attack could decrypt data and expose passwords, credit card information, photos, chats, emails, and more.
- WPA3-Personal
- WPA3-Personal is intended for individual users and personal/home Wi-Fi networks. This protocol addresses common cybersecurity weaknesses that affect consumers’ wireless devices. It also simplifies Wi-Fi security for users.
- Natural password selection
- Gives users the ability to set passwords that are easier for the user to remember.
- Increased ease of use
- Users do not need to change the way they connect to Wi-Fi to benefit from WPA3’s improved security.
- Forward secrecy
- If a password is stolen, WPA3 can continue to protect data that is transmitted.
- Simultaneous Authentication of Equals (SAE)
- WPA3-Personal improves upon the WPA2-Personal Pre-Shared Key (PSK) handshake protocol. SAE uses PSK to generate a Pairwise Master Key (PMK). The PMK uses password-based authentication and is shared between a Wi-Fi access point and a wireless device. The pair use a complex, multi-stage process for proving to one another that they each possess the PMK. This complex handshake makes it extremely difficult for cybercriminals to intercept packets in order to extract an identifiable authentication key. If the SAE transaction is successful, the wireless device will pass the authentication stage and gain access to the secured Wi-Fi network.
- WPA3-Enterprise
- WPA3-Enterprise is intended for business networks with multiple users. This protocol addresses the WPA2-Enterprise weaknesses that cybercriminals have been able to exploit. In addition to the WPA3-Personal SAE improvements, the WPA3-Enterprise security improvements and options include:
- Galois/Counter Mode Protocol (GCMP-256)
- The Advanced Encryption Standard (AES)
- Counter Mode Protocol (CCMP)
- Cipher Block Chaining Message Authentication Code (CBC-MAC)
- The Advanced Encryption Standard (AES) with GCMP-256-bit encryption replaces the WPA2 128-bit AES-Counter Mode Protocol (CCMP) Cipher Block Chaining Message Authentication Code (CBC-MAC). GCMP for data integrity. The GCMP-256-bit encryption strength takes significantly more computing power for cybercriminals to crack than 128-bit encryption. The average person would not have access to that level of computing power. GCMP-256-bit encryption provides a stronger security protocol and makes it harder for cybercriminals to perform Meddler-in-the-Middle attacks.
- Opportunistic Wireless Encryption (OWE)
- OWE improves upon the WPA2 wireless encryption standard of 802.1x Open Authentication and Extensible Authentication Protocol (EAP). In WPA2, EAP required additional support to help it encrypt and authenticate login credentials. In the WPA3 protocol, OWE replaces EAP with a solution that encrypts and authenticates all wireless traffic. It also replaces Wi-Fi passwords by assigning a unique key to each device that has permission to access the network. This technology repairs a weakness Wi-Fi users experience in open networks, which are often found in restaurants, coffee shops, hotels, airports, malls, and more.
- Extensible Authentication Protocol (EAP)
- Wi-Fi Device Provisioning Protocol (DPP)
- DPP improves upon the WPA2 Wi-Fi Protected Setup (WPS) encryption technology between wireless devices and routers. WPA3’s DPP uses QR codes or NFC tags to grant passwordless Wi-Fi access to wireless devices.
- Wi-Fi Protected Setup (WPS)
- 384-bit Hashed Message Authentication Mode (HMAC) with Secure Hash Algorithm (SHA)
- HMAC creates hash code from a secret key. This hash code is sent with each message passed between a Wi-Fi access point and a user’s device. The hash code from the origin of the message is compared to the hash code from the receiver of the message to determine if the hash codes match. A discrepancy between the two hashes would indicate that the message was compromised or corrupted during transmission.
- Elliptic Curve Diffie-Hellman Exchange (ECDHE) and Elliptic Curve Digital Signature Algorithm (ECDSA)
- In WPA3, key management and authentication use the ECDHE protocol and ECDSA encryption for faster performance. The protocol is supported by most browsers. This key management technology replaces the WPA2 4-way handshake.
-
Cellular Networking
- Bluetooth
-
Wireless Network Protocols for IoT
-
IoT wireless network protocols at the physical layer
- network protocols support
- Personal Area Networks (PANs)
- global internet connectivity
- network protocols
- Wireless-Fidelity (Wi-Fi)
- IEEE 802.15.4
- An inexpensive, low-power wireless access technology intended for IoT devices that operate on battery power. IEEE 802.15.4 uses the 2.4 GHz or lower radio band frequencies. IEEE 802.15.4 is normally used for low-rate wireless personal area networks (LR-WPANs) and uses a 128-bit encryption
- Example
- ZigBee
- An LR-WPAN intended for smart home use. However, ZigBee has also been adopted globally for commercial IoT products. ZigBee includes a universal language that facilitates the interoperability of smart objects through a self-healing mesh network. ZigBee LR-WPAN networks can be accessed through Wi-Fi or Bluetooth.
- Thread
- A low-latency wireless mesh networking protocol based on IPv6 addressing and existing open standards and technologies. These characteristics make thread networks compatible with a broad spectrum of IoT ecosystems. Thread devices do not use proprietary gateways or translators, making them inexpensive and easier to implement and maintain than other wireless technologies. Thread is used by the Google Nest Hub Max.
- Z-Wave
- An interoperable, wireless mesh protocol (described below) that is based on low powered radio frequency (RF) communications. The Z-Wave protocol uses an RF signal on the 908.2MHz frequency band and extends 330 feet. Z-Wave allows users to control and monitor IoT smart devices. Z-Wave is inexpensive, reliable, and simple to use. The Z-wave protocol supports a closed network for security purposes. Over 3300 types and models of home and business IoT devices are certified to use Z-Wave technology, with more than 100 million devices in use worldwide.
- Wireless mesh network (WMN)
- Mesh networks are used by many popular wireless IoT network protocols, like Zigbee and Z-Wave, for device communication. Wireless mesh networks use less power than other wireless connectivity options. Wireless mesh is a decentralized network of connected wireless access points (WAP), also called nodes. Each WAP node forwards data to the next node in the network until the data reaches its destination. This network design is “self-healing,” meaning the network can recover on its own when a node fails. The other nodes will reroute data to exclude the failed node. Wireless mesh is a good option for high reliability and low power consumption, which is better for battery powered IoT devices.
- Full mesh network
- Every node can communicate with all of the other nodes in the network.
- Partial mesh network
- Nodes can only communicate with nearby nodes.
- Bluetooth
- Bluetooth is a widely used wireless network that operates at a 2.45 GHz frequency band and facilitates up to 3 Mbps connections among computing and IoT devices.
- Bluetooth has a range of up to 100 feet (30.6 meters) and can accommodate multiple paired connections.
- It is a good choice for creating a short distance wireless connection between Bluetooth enabled devices. Bluetooth is often used by computing devices to manage, configure, control, and/or collect small amounts of data from one or more close range IoT devices. For example, Bluetooth may be used to control smart home lighting or thermostat IoT devices from a smartphone.
- Near-Field Communication (NFC)
- NFC is a short-range, low data, wireless communication protocol that operates on the 13.56 MHz radio frequency.
- NFC technology requires a physical chip (or tag) to be embedded in the IoT device. NFC chips can be found in credit and debit cards, ID badges, passports, wallet apps on smartphones (like Google Pay), and more.
- A contactless NFC scanner, like a Point-of-Sale (PoS) device, is used to read the chip. This scanner communication connection often requires the IoT device to be within 2 inches (6 cm) of the scanner, but some NFC chips have an 8 inch (20 cm) range.
- This short-distance range helps to limit wireless network security threats. However, criminals can carry a portable NFC scanner into a crowded area to pick up NFC chip data from items like credit cards stored inside purses and wallets. To protect against this type of data theft, the cards should be placed inside special NFC/RFID sleeves that make the chips unreadable until they are removed from the sleeves. NFC technology may also be used in the pairing process for Bluetooth connections.
- Long Range Wide Area Network (LoRaWan)
- LoRaWan is an open source networking protocol designed to connect battery powered, wireless IoT devices to the Internet for widely dispersed networks.
-
IoT Data Transfer Protocols
-
Data protocol models used with IoT
-
Request/Response model
- Often used in distributed systems where the communication flow between servers and clients consists of requests and responses for data. Examples include HTTP and CoAP (described in the “IoT data protocols at the application layer” section below)
-
Publish/Subscribe model
- A framework for message exchanges between publishers (hosts) and subscribers (clients) that are routed through a broker. Subscribers can sign up to a channel to receive notices through the broker when the publisher releases new messages. Examples: MQTT and AMQP (described in the “IoT data protocols at the application layer” section below).
-
IoT data protocols at the application layer
-
HyperText Transfer Protocol / Secure (HTTP/HTTPS)
- HTTP and HTTPS are the most widely used information transfer protocols across the World Wide Web (WWW). The protocols define how information is formatted and transmitted. HTTP/HTTPS uses ASCII formatting, has a header size of 8 bytes, and is designed for transmitting documents. HTTP/HTTPS use either Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) for sending information across the internet. HTTP/HTTPS uses the request/response model. When a website address is entered into a browser, HTTP/HTTPS sends a request to the site’s web server, which then returns an HTTP/HTTPS formatted response to the browser. The protocols use ports 80 or 8080 and data security is provided on the HTTPS version of the protocol. HTTP is supported by Google Cloud IoT Core for device-to-cloud communication.
-
Machine-to-Machine (M2M) Communication Protocols
- A set of direct communication methods for low-power devices, machines, and systems. There are three primary architectural and protocol groups in M2M electronic communications
- Representational State Transfer (REST)
- An architectural style for communication amongst web accessible systems.
- Service-oriented Architectures (SOA)
- An architecture for data exchanges in industrial automation systems.
- Message Oriented Protocols
- A protocol for asynchronous data transfers for distributed systems.
-
Message Queue Telemetry Transport (MQTT)
- An IoT data-centric interaction protocol for M2M that uses a simple publish-subscribe model. MQTT supports Quality of Service (QoS), uses TCP for sending information, and utilizes Secure Sockets Layer (SSL) and Transport Layer Security (TLS) for security. MQTT using binary format and 2-byte header sizes for efficient messaging. MQTT is supported by Google Cloud IoT Core for device to cloud communication.
-
Constrained Application Protocol (CoAP)
- A web transfer protocol for IoT constrained nodes and networks designed for M2M applications. CoAP is used for IoT applications like building automation and smart energy management. CoAP is very similar to HTTP: both are based on the REST model and both place resources on a server that is accessible to clients via a URL.
-
Advanced Message Queuing Protocol (AMQP)
- An open standard for messaging amongst applications in different organizations and/or platforms. Its purpose is to remove vendor lock-in for app communication. In addition to interoperability, AMQP also offers reliability and security.
-
Extensible Messaging and Presence Protocol (XMPP)
- A decentralized, open standard for chat, messaging, video and voice calls, collaboration tools, and more. Built upon Japper, XMPP offers a proven communication technology that is extensible, flexible, and diverse.
-
Data Distribution Service (DDS)
- An API standard and middleware protocol from the Object Management Group. Middleware exists in the OSI applications layer, between software and the operating system. DDS uses the publish-subscribe communications model. DDS is also data-centric, provides low-latency data connectivity, and helps the devices in an IoT ecosystem share data more efficiently. DDS is reliable, scalable, and provides control of QoS parameters, including bandwidth and resource limits.
-
Settings and configurations
-
Dynamic Host Configuration Protocol (DHCP)
-
An application layer protocol that automates the configuration process of hosts on a network
-
Dynamic allocation
- A range of IP addresses is set aside for client devices and one of these IPs is issued to these devices when they request one
-
Automatic allocation
- A range of IP addresses is set aside for assignment purposes
-
Fixed allocation
- Requires a manually specified list of of MAC address and their corresponding IPs
-
DHCP discovery
-
The process by which a client configured to use DHCP attempts to get network configuration information
- DHCPDISCOVER
- DHCPOFFER
- DHCPREQUEST
- DHCPACK
-
Network Address Translation (NAT)
-
A technology that allows a gateway, usually a router or firewall, to rewrite the source IP of an outgoing IP datagram while retaining the original IP in order to rewrite it into response
- IP masquerading
-
Port preservation
-
A technique where the source port chosen by a client is the same port used by the router
-
Port forwarding
- A technique where specific destination ports can be configured to always be delivered to specific nodes
-
Domain name system (DNS)
- A global and highly distributed network service that resolves strings of letters into IP addresses for you
-
Domain name
- The term we use for something that can be resolved by DNS
-
Time to live (TTL)
- A value, in seconds, that can be configured by the owner of a domain name for how long a name server is allowed to cache an entry before it should disgard it and perform a full resolution again
-
Top-level domain (TLD)
- Represents the top of the hierarchical DNS name resolution system
- Administration and definition of TLDs is handled by a non profit organization, known as ICANN or the Internet Corporation for Assigned Names and Numbers.
-
Domains
- Domains are used to demarcate where control moves from a TLD name server, to an authoritative name server.
-
Fully qualified domain name (FQDN)
- When you combine all of these parts together, you have what's known as this
- A fully qualified domain name can contain up to 255 characters.
-
Subdomains
- DNS can technically support up to 127 levels of domain in total for a single fully qualified domain name.
-
Regional internet registries (RIRs)
-
IANA assigns IP address blocks to the five regional internet registries (RIRs). An RIR is an organization that manages internet number resources within a geographical region.
- AFRINIC - Africa
- entered IPv4 Exhaustion Phase 2 in January 2020.
- ARIN - USA, Canada, and parts of the Caribbean
- exhausted its list of free IPv4 addresses in September 2015.
- APNIC - Most of Asia, Australia, New Zealand, and Pacific Island nations
- reached its final /8 addresses in April 2011.
- LACNIC - Central America, South America, and the remaining parts of the Caribbean not covered by ARIN
- reached its final /10 addresses in June 2014.
- RIPE - Europe, Russia, Middle East, and portions of Central Asia
- reached its final /8 addresses in September 2012.
- On February 3, 2011, IATA assigned the last unallocated /8 of the 4.2 billion possible combinations of IPv4 addresses. In some regions, you use a recycled number as a new IP address due to reaching IP exhaustion.
- IPv6 will replace IPv4, using 128-bit addresses. IPv6 provides an identification and location system for computers on networks and routes traffic across the internet. The 128-bit addresses used by IPv6 provide a practically inexhaustible number of addresses. While IPv6 will solve many IPv4 address exhaustion issues, 99% of the devices in use today still use IPv4. IT professionals should be aware of IPv6 as it begins to take effect over the coming years and the structure of IP addresses changes.
-
Name resolution
- Process of using DNS to turn a domain name into an IP address is known as name resolution
-
the standard modern network configuration
- IP address
- Subnet mask
- Gateway for a host
- DNS server
-
There are five primary types of DNS servers:
- Caching name servers
-
Recursive name service
- Performs full DNS resolution requests
- Root name service
- TLD name servers
- Authoritative name servers
- Purpose is to store known domain lookups for a certain amount of time
-
Anycast
- A technique that's used to route traffic to different destinations depending on factors like location, congestion, or link health
-
Protocol
-
UDP for the most variants
- TCP if the packet too large
-
Resource record types
-
A record
- Used to point a certain domain name at a certain IPv4 IP address
- can have multiple records for domain name
- Round robin
- A concept that involves iterating over a list of items one by one in an orderly fashion
-
Quad A record (AAAA)
- Very similar to an A record, except that it returns an IPv6 address instead of an IPv4 address
-
CNAME record
- Used to redirect traffic from one domain name to another
-
Mail exchange (MX) record
- This resource record is used in order to deliver email to the correct server
-
Service record (SRV)
- Used to define the location of various specific services
-
Text record (TXT)
- Originally intended to be used only for associating some descriptive text with a domain name for human consumption
-
NS record
- Indicate other name servers that might also be responsible for this zone
-
Start of authority (SOA)
- Declares the zone and the name of the name server that is authoritative for it
-
Pointer record (PTR)
- Resolves an IP to a name
- DNS zones
-
DNS zone
- Allow for easier control over multiple levels of a domain
-
Zone files
- Simple configuration files that declare all resource records for a particular zone
-
Reverse lookup zone files
- These let DNS resolvers ask for an IP and get the FQDN associated with it returned
-
Configuration for machine
- IP address
- Subnet mask
- Gateway
- Name server
-
Proxy Services
- A server that acts on behalf of a client in order to access another service
-
benefits
- Anonymity
- Security
- Content filtering
- Increased perfomance
-
Reverse proxy
- A service might appear to be a single server to external clients, but actually represents many servers living behind it
-
Virtual Private Networks (VPN)
-
A technology that allows for the extension of a private or local network to hosts that might not work on that same local network
-
tunneling protocol
- used encrypted tunnel
-
Two-factor authentication
- A technique where more than just username and password are required to authenticate
-
Troubleshooting
-
General
-
Error-detection
- The ability for a protocol or program to determine that something went wrong
-
Error-recovery
- The ability for a protocol or program to attempt to fix it
-
Reasons
- errors still pop up
- misconfigurations occur
- hardware breaks down
- system incompatibilities comes to light
-
Verifying Connectivity
-
Internet Control Message Protocol (ICMP)
-
ICMP Packet
- Type
- which specifies what type of message is being delivered
- 8 bits
- Code
- which indicates a more specific reason for the message than just the type. For example, of the destination unreachable type, there are individual codes for things like destination network unreachable, and destination port unreachable.
- checksum
- 16-bit
- Rest of the header
- 32-bit
- this field is optionally used by some of the specific types and codes to send more data.
- data payload
- The payload for an ICPM packet exists entirely so that the recipient of the message knows which of their transmissions caused the error being reported
- It contains the entire IP header and the first eight bytes of the data payload section of the offending packet.
-
Ping
- Ping lets you send a special type of ICPM message called an Echo request
- If the destination is up and running and able to communicate on the network, it'll send back an ICPM Echo Reply message type
-
CLI
- Example
- In all environments, ping supports a number of command line flags that let you change its behavior, like the number of echo requests to send, how large they should be, and how quickly they should be sent. Check out the documentation for your operating system to learn a little bit more.
- Every line of output will generally display the address sending the ICMP echo reply and how long it took for the round-trip communications. It will also have the TTL remaining and how large the ICMP message is in bytes.
- Once the command ends, there will also be some statistics displayed, like percentage of packets transmitted and received, the average round-trip time, and a couple of other things like that.
- On Linux and macOS, the ping command will run until it's interrupted by an end user sending an interrupt event. They do this by pressing the Control key and the C key at the same time.
- On Windows, paying defaults to only sending four echo requests.
-
Traceroute
-
A utility that lets you discover the path between two nodes, and gives you information about each hop along the way
- On each line, you'll see the number of the hop and the round trip time for all three packets. You will also see the IP of the device at each hop and a host name if Traceroute can resolve one.
-
Tools
- mtr
- Linux
- MacOS
- pathping
- Windows
-
Testing Port Connectivity
-
netcat
- linux/macos
- nc host port
- -z
- zero input/output
- -v
- verbose
- -u
- Tells netcat to open a user datagram protocol (UDP) connection, instead of a
TCP connection.
- -vv
- Stands for very verbose and gives more output text than just verbose
- -p
- Refers to a local port for a connection. Some protocols require a specific source
port to work properly, this lets you specify what port to connect from.
- -e
- Executes a program after connection established. This option is not supported
by all version of netcat, but you can also use standard unix command line
pipelines to pass network input to or from other programs.
- -n <addr> <port>
- prevents domain name server (DNS) lookup. Use this when you have an IP
address and numeric port to use for the connection and you want to avoid the
overhead of DNS or if it is not working properly.
-
Test-NetConnection
- Windows
- -port
- Test-NetConnection -InformationLevel "Detailed"
- Tests ping connectivity with detailed results.
- Test-NetConnection -ComputerName [remote host]
- Tests a connection to a remote host.
- Test-NetConnection -ComputerName [remote host] -Port [port number]
- Tests TCP connectivity to a specific host and port. This can be combined with the display detailed results option
- Test-NetConnection -ComputerName [remote host] -DiagnoseRouting
- Performs route diagnostics to connect to a remote host. This can require
administrator privileges, so you may have to run your powershell window as
administrator.
- Test-NetConnection -ComputerName [remote host] -constrainInterface [interface number] -DiagnoseRouting -InformationLevel "Detailed"
- Performs route diagnostics to connect to a remote host with routing
constraints.
-
Digging into DNS
-
nslookup
-
interactive mode
- By default, nslookup will return A records
- An ISP almost always gives you access to a recursive name server as part of the service it provides
-
Public DNS servers
- Name servers specifically set up so that anyone can use them, for free
-
The IP addresses for Level 3's public DNS servers
- 4.2.2.1
- 4.2.2.2
- 4.2.2.3
- 4.2.2.4
- 4.2.2.5
- 4.2.2.6
-
Google's public DNS.
- 8.8.8.8
- 8.8.4.4
- Most public DNS servers are available globally through anycast
- Always make sure the name server is run by a reputable company, and try to use the name servers provided by your ISP outside of troubleshooting scenarios
-
DNS Registration
-
Registrar
- An organization responsible for assigning individual domain names to other organizations or individuals
- Network Solutions Inc
- It was responsible for the registration of almost all domains that weren't country-specific.
-
Transfer
-
Hosts Files
- The original way that numbered network addresses were correlated with words was through hosts files
-
Host file
- A flat file that contains, on each line, a network address followed by the host name it can be referred to as
-
Loopback address
- A way of sending network traffic to yourself
- 127.0.0.1
- Almost every hosts file in existence will, in the very least, contain a line that reads 127.0.0.1 localhost, most likely followed by ::1 localhost, where ::1 is the loopback address for IPv6
- Hosts files are a popular way for computer viruses to disrupt and redirect users' traffic
-
Cloud
-
Cloud computing
- A technological approach where computing resources are provisioned in a shareable way so that lots of users get what they need, when they need it
- A new model in computing where large clusters of machines let us use the total resources available in a better way
-
Hardware virtualiztion
- Hardware virtualization is a core concept of how Cloud computing technologies work. It allows the concept of a physical machine and a logical machine to be abstracted away from each other.
-
Virtualization
- a single physical machine called a host, could run many individual virtual instances called guests
- An operating system expects to be able to communicate with the underlying hardware in certain ways. Hardware virtualization platforms employ what's called a hypervisor.
-
Hypervisor
- A hypervisor is a piece of software that runs and manages virtual machines, while also offering these guests a virtual operating platform that's indistinguishable from actual hardware.
-
Example
-
Public cloud
- A large cluster of machines run by another company
-
Private cloud
- Used by a single large corporation and generally physically hosted on its own premises
-
Hybrid cloud
- A term used to describe situations where companies might run things like their most sensitive proprietary technologies on a private cloud, while entrusting their less-sensitive servers to a public cloud
-
Everything as a Service (XaaS)
-
Infrastructure as a Service (IaaS)
- You shouldn't have to worry about building your own network or your own servers
- You just pay someone else to provide you with that service
-
Platform as a Service (Paas)
- A subset of cloud computing where a platform is provided for customers to run their services
-
Software as a Service (SaaS)
- A way of licensing the use of software to others while keeping that software centrally hosted and managed
-
Cloud storage
- In a Cloud storage system, a customer contracts a cloud storage provider to keep their data secure, accessible, and available. This data could be anything from individual documents to large database backups
- By using a Cloud storage solution, it's up to the provider to keep the underlying physical hardware running
- Cloud storage solutions also grow with you.
-
IPv6
- IPv5 was an experimental protocol that introduced the concept of connections
- 128 bits
-
8 groups of 16 bits each
- hexadecimal numbers
-
2001:0db8:0000:0000:0000:ff00:0012:3456
- 2001:db8:0:0:0:ff00:12:3456
- 2001:db8::ff00:12:3456
- you can remove any leading zeros from a group.
- any number of consecutive groups composed of just zeros can be replaced with two colons.
-
127.0.0.1
- ::1
-
Network ID
- first 64 bits or first 4 groups
-
Host ID
- last 4 groups and 64 bits
-
FF00::
-
Multicast
- A way of addressing groups of hosts all at once
- any address that begins with FF00::
-
FE80::
-
Link-local unicast addresses
- Allow for local network segment communications and are configured based upon host's MAC address
-
IPv6 Headers
-
Version field
- A 4-bit field that defines what version of IP is in use
-
Traffic class field
- An 8-bit field that defines the type of traffic contained within the IP datagram, and allows for different classes of traffic to receive different priorities
-
Flow label field
- A 20-bit field that's used in conjunction with the traffic class field for routers to make decisions about the quality of service level for a specific datagram
-
Payload length field
- A 16-bit field that defines how long the data payload section of the datagram is
-
Next header field
- A unique concept to IPv6, and needs a little extra explanations
- IPv6 addresses are four times as long as IPv4 addresses. That means they have more ones and zeros which means that they take longer to transmit across a link. To help reduce the problems with additional data that IPv6 addresses impose on the network, the IPv6 header was built to be as short as possible. One way to do that is to take all of the optional fields and abstract them away from the IPv6 header itself. The next header field defines what kind of header is immediately after this current one. These additional headers are optional, so they're not required for a complete IPv6 datagram. Each of these additional optional headers contain a next header field and allow for a chain of headers to be formed if there's a lot of optional configuration.
-
Hop limit
- An 8-bit field that's identical in purpose to the TTL field in an IPv4 header
- Source Address
- Destination Address field
-
IPv6 and IPv4 Harmony
-
192.168.1.1
- ::ffff:c0a8:0101
-
IPv6 tunnels
- Servers take incoming IPv6 traffic and encapsulate it within traditional IPv4 datagram
- IPv6 tunnel broker
- Companies that provide IPv6 tunneling endpoints for you, so you don't have to introduce additional equipment to your network
- Three types of tunnels
- 6in4/manual protocol
- encapsulates IPv6 packets immediately inside an IPv4 packet, without using additional headers to configure the setup of the tunnel endpoints. Setup is configured manually instead. This makes performance predictable and easy to debug. Unfortunately, this protocol often will not function if the host uses network address translation (NAT) technology to map its IPv4 address. This makes the 6in4/manual protocol difficult to deploy.
- Tunnel Setup Protocol (TSP)
- specifies rules for negotiating the setup parameters between tunnel endpoints. This allows for a variety of tunnel encapsulation methods and wider deployment than is possible with the 6in4/manual protocol.
- Anything in Anything (AYIYA)
- protocol defines a method for encapsulating any protocol in any other protocol. AYIYA was developed for tunnel brokers, a service which provides a network tunnel. This protocol specifies the encapsulation, identification, checksum, security, and management operations that can be used once the tunnel is established. A key advantage of AYIYA is that it can provide a stable tunnel through an IPv4 NAT. It allows users behind a NAT or a dynamic address to maintain connectivity even when roaming between networks.
-
Command Line Tools
-
File management
-
copy
- Linux: cp
- copy files by moving them from one location to another, such as from one drive to another
-
xcopy
- copy files with options and control over how to copy files and directories
- xcopy /s
- includes subdirectories that contain content when copying files
- xcopy /j
- protects larger files while copying
-
robocopy
- copy files with more commands than xcopy, including commands for moving secure files
- robocopy /sec
- copies files with security
-
Disk management
-
chkdsk
- Linux: fsck
- check both the file system and its metadata for physical and logical errors
- chkdsk /f
- check the drive and repair any issues
-
sfc
- Check the system for corrupted files and look for cached copies of the files to try to repair them
-
format
- Reset the drive and erase all the data, only putting in data needed to operate the disk
-
diskpart
- Linux: fdisk
- divide a hard drive into separate partitions that act like disks
-
Other tools
-
shutdown
- Linux: shutdown
- shut down the local computer or other computers on the network
- shutdown /fw
- reboots the computer into the firmware interface after shutdown
-
winver
- display the current version of Windows
-
Networking troubleshooting tools
-
ipconfig
- Linux (later version): ip
- Linux (older versions): ipconfig
- display the current network configuration information
- ipconfig /all
- display full configuration information for all adapters
-
ping
- check the status of a connection to an address or the server speed of the connection to determine if a website or router is running slow
-
pathping
- send out a request to each of the routers on the path to the destination, check the
packets from each router for loss and latency, and use the information to determine
where the packet loss is happening
-
tracert
- Linux: traceroute
- Mac: traceroute
- trace the route of a packet of data from the user’s source computer to the destination
system
-
hostname
- Linux: hostname
- display the name of one device on a network
-
netstat
- Linux: netstat
- display statistics about network activity and configuration, such as user information
about passive and active sockets
-
nslookup
- Linux: nslookup
- obtain DNS record information by sending queries to the domain name server
-
net user
- add or modifies user accounts, or display user account information
-
net use
- Disconnect a computer from a shared resource and display a list of network
connections
-
gpupdate
- update group policy settings
-
gpresult
- display the Resultant Set of Policy (RSoP) for a system