Stream Control Transmission Protocol

In computer networking, the Stream Control Transmission Protocol (SCTP) is a transport-layer protocol, serving in a similar role to the popular protocols TCP and UDP.

SCTP provides some of the same service features of both: it is message-oriented like UDP and ensures reliable, in-sequence transport of messages with congestion control like TCP; it differs from these in providing multi-homing and redundant paths to increase resilience and reliability.

In the absence of native SCTP support in operating systems it is possible to tunnel SCTP over UDP, as well as mapping TCP API calls to SCTP ones. The reference implementation was released as part of FreeBSD version 7. It has subsequently been widely ported.


'Computer Science > Terminology' 카테고리의 다른 글

Token ring  (0) 2018.03.30
Packet switching  (0) 2018.03.30
Wireless Sensor Network (WSN)  (0) 2018.03.30
Uniform Resource Locator (URL)  (0) 2018.03.30
Real-time Transport Protocol (RTP)  (0) 2018.03.30

Open System Interconnection Protocols

The Open System Interconnection (OSI)protocol suite is comprised of numerous standard protocols that are based onthe OSI reference model. These protocols are part of an international programto develop data-networking protocols and other standards that facilitate multivendorequipment interoperability. The OSI program grew out of a need forinternational networking standards and is designed to facilitate communicationbetween hardware and software systems despite differences in underlyingarchitectures.

The OSI specifications were conceived and implementedby two international standards organizations: the International Organizationfor Standardization (ISO) and the International Telecommunications StandardsSector (ITU-T). This article provides a summary of the OSI protocol suite andillustrates its mapping to the general OSI reference model.

From: http://docwiki.cisco.com/wiki/Open_System_Interconnection_Protocols


'Computer Science > Terminology' 카테고리의 다른 글

Instrusion prevention system (IPS)  (0) 2018.03.30
Application firewall  (0) 2018.03.30
Stateful Firewall  (0) 2018.03.30
Packet-filtering Firewall  (0) 2018.03.30
User Datagram Protocol (UDP)  (0) 2018.03.30

Stateful firewall

In computing, a stateful firewall is anetwork firewall that tracks the operating state and characteristics of networkconnections traversing it. The firewall is configured to distinguish legitimatepackets for different types if connections. Only packets matching a knownactive connection are allowed to pass the firewall.

Stateful packet inspection (SPI), alsoreferred to as dynamic packet filtering, is a security feature often includedin business networks.

A stateful firewall keeps track of thestate of network connections (such as TCP streams or UDP communication) and isable to hold significant attributes of each connection in memory. Theseattributes are collectively known as the state of the connection, and mayinclude such details as the IP addresses and ports involved in the connectionand the sequence numbers of the packets traversing the connection. Stateful inspectionmonitors incoming and outgoing packets over time, as well as the state of theconnection, and stores the data in dynamic state tables. This cumulative datais evaluated, so that filtering decisions would not only be based onadministrator-defined rules, but also on context that has been built byprevious connections as well as previous packets belonging to the sameconnection.

From: https://en.wikipedia.org/wiki/Stateful_firewall


'Computer Science > Terminology' 카테고리의 다른 글

Application firewall  (0) 2018.03.30
Open System Interconnection Protocols  (0) 2018.03.30
Packet-filtering Firewall  (0) 2018.03.30
User Datagram Protocol (UDP)  (0) 2018.03.30
Transmission Control Protocol (TCP)  (0) 2018.03.30

User Datagram Protocol

The User Datagram Protocol (UDP) is one ofthe core members of the Internet protocol suite. The protocol was designed by David P. Reed in 1980 and formally defined in RFC 768.

UDP uses a simple connectionless transmission model with a minimum of protocol mechanism. It has no handshaking dialogues, and thus exposes the user’s program to any unreliability of the underlying network protocol. There is no guarantee of delivery, ordering, or duplicate protection. UDP provides checksums for data integrity, and port numbers for addressing different functions at the source and destination of the datagram.

With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without prior communications to set up special transmission channels or data paths. UDP is suitable for purposes where error checking and correction is either not necessary or is performed in the application, avoiding the overhead of such processing atthe network interface level. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for delayed packets, which may not be an option in a real-time system. If error correction facilities are needed atthe network interface level, an application may use the Transmission Control Protocol (TCP) or Streaming Control Transmission Protocol (SCTP) which are designed for this purpose.

Packet structure

UDP is a minimal message-oriented Transport Layer protocol that is documented in IETF RFC 768.

UDP provides no guarantees to the upper layer protocol for message delivery and the UDP layer retains no state of UDP messages once sent. For this reason, UDP sometimes is referred to as Unreliable Datagram Protocol.

UDP provides application multiplexing (via port numbers) and integrity verification (via checksum) of the header and payload. If transmission reliability is desired, it must be implemented in the user’s application.

The UDP header consists of 4 fields, each of which is 2 bytes (16 bits). The use of the fields “Checksum” and “Source port” is optional in IPv4. In IPv6 only the source port is optional.

-      Source port number: This field identifies the sender’s port when meaningful and should be assumed to be the port to reply to if needed. If not used, then it should be zero. If the source host is the client, the port number is likely to be an ephemeral port number.

-      Destination port number: This field identifies the receiver’s port and is required. Similar to source port number, if the client is the destination host then the port number will likely be an ephemeral port number and if the destination host is the server then the port number will likely be a well-known port number.

-      Length: A field that specifies the length in bytes of the UDP header and UDP data. The minimum length is 8 bytes because that is the length of the header. The field size sets a theoretical limit of 65,535 bytes (8 byte header + 65,527 bytes of data) for a UDP datagram. The practical limit for the data length which is imposed by the underlying IPv4 protocol is 65,507 bytes (65,535 – 8 byte UDP header – 20 byte IP header).

-      Checksum: The checksum field may be used for error-checking of the header and data. This field is optional in IPv4, and mandatory in IPv6. The field carries all-zeros if unused.

Reliability and congestion control solutions

Lacking reliability, UDP applications must generally be willing to accept some loss, errors or duplication. Some applications, such as TFTP, may add rudimentary reliability mechanisms into the application layer as needed.

Most often, UDP applications do not employer liability mechanisms and may even be hindered by them. Streaming media, real-time multiplayer games and voice over IP (VoIP) are examples of applications that often use UDP. In the separticular applications, loss of packets is not usually a fatal problem. If anapplication requires a high degree of reliability, a protocol such as the Transmission Control Protocol may be used instead.

From: https://en.wikipedia.org/wiki/User_Datagram_Protocol


'Computer Science > Terminology' 카테고리의 다른 글

Stateful Firewall  (0) 2018.03.30
Packet-filtering Firewall  (0) 2018.03.30
Transmission Control Protocol (TCP)  (0) 2018.03.30
Internet Protocol (IP)  (0) 2018.03.30
Protocol  (0) 2018.03.30

Transmission Control Protocol

The Transmission Control Protocol (TCP) is a core protocol of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entries suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets between applications running on hosts communicating over an IP network. Major Internet applications such as the World Wide Web, email, remote administration and file transfer relyon TCP. Applications that do not require reliable data stream service may use the User Datagram Protocol (UDP), which provides a connectionless datagram service that emphasizes reduced latency over reliability.

Network function

The Transmission Control Protocol provides a communication service at an intermediate level between an application programand the Internet Protocol. It provides host-to-host connectivity at the Transport Layer of the Internet model. An application does not need to know the particular mechanisms for sending data via a link to another host, such as the required packet fragmentation on the transmission medium. At the transport layer, the protocol handles allhandshaking and transmission details and presents an abstraction of the network connection to the application.

At the lower levels of the protocol stack, due to network congestion, traffic load balancing, or other unpredictable network behavior, IP packets may be lost, duplicated, or delivered out of order. TCP detects these problems, requests retransmission of lost data, rearranges out-of-order data, and even helps minimize network congestion to reduce the occurrence of the other problems. If the data still remains undelivered, its source is notified of this failure. Once the TCP receiver has reassembled the sequence of octets originally transmitted, it passes them to the receiving application. Thus, TCP abstracts the application’s communication from the underlying networking details.

TCP is utilized extensively by many popular applications carried on the Internet, including the World Wide Web (WWW), E-mail, File Transfer Protocol, Secure Shell, peer-to-peer file sharing, and many streaming media applications.

TCP is optimized for accurate delivery rather than timely delivery, and therefore, TCP sometimes incurs relatively long delays (on the order of seconds) while waiting for out-of-order messages or retransmissions of lost messages. It is not particularly suitable for real-time applications such as Voice over IP. For such applications, protocols like the Real-time Transport Protocol (RTP) running over the User Datagram Protocol (UDP) are usually recommended instead.

TCP is a reliable stream delivery service which guarantees that all bytes received will be identical with bytes sent and in the correct order. Since packet transfer over many networks is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers. This fundamental technique requiresthe receiver to respond with an acknowledgment message as it receives the data. The sender keeps a record of each packet it sends. The sender also maintains a timer from when the packet was sent, and retransmits a packet if the timer expires before the message has been acknowledged. The timer is needed in case a packet gets lost or corrupted.

While IP handles actual delivery of the data, TCP keeps track of the individual units of data transmission, called segment that a message is divided into for efficient routing through the network. For example, when an HTML file is sent from a web server, the TCP software layer of that server divides the sequence of octets of the file into segments and forwards them individually to the IP software layer (Internet Layer). The Internet Layer encapsulates each TCP segment into an IP packet by adding a header that includes (among other data) the destination IP address. When the client program on the destination computer receives them, the TCP layer (Transport Layer) reassembles the individual segments, and ensures they are correctly ordered and error free a sit streams them to an application.

From: https://en.wikipedia.org/wiki/Transmission_Control_Protocol


'Computer Science > Terminology' 카테고리의 다른 글

Packet-filtering Firewall  (0) 2018.03.30
User Datagram Protocol (UDP)  (0) 2018.03.30
Internet Protocol (IP)  (0) 2018.03.30
Protocol  (0) 2018.03.30
Packet  (0) 2018.03.30

Internet Protocol

The Internet Protocol (IP) is the principal communications protocol in the internet protocol suite for relaying datagram across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.

IP has the task of delivering packets from the source host to the destination host to the solely based on the OP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.

Historically, IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob kahn in 1974; the other being the connection-oriented Transmission Control Protocol (TCP). The Internet protocol suite is therefore often referred to as TCP/IP.

Function


The Internet Protocol is responsible for addressing hosts andfor routing datagrams (packets) from a source host to a destination host across one or more IP networks. For this purpose, the Internet Protocol defines the format of packets and provides an addressing system that has two functions: Identifying hosts and providing a logical location service.

-      Datagram construction: Each datagram has two components: a header and a payload. The IP header is tagged with the source IP address, the destination IP address, and other meta-data needed to route and deliver the datagram. The payload is the data that is transported. This method of nesting the data payload in a packet with a header is called encapsulation.

-      IP addressing and routing: IP addressing entails the assignment of IP addresses and associated parameters to host interfaces. The address space is divided into networks and subnetworks, involving the designation of network or routing prefixes. IP routing is performed by all hosts, as well as routers, whose main function is to transport packets across network boundaries. Routers communicate with one another viaspecially designed routing protocols, either interior gateway protocols or exterior gateway protocols, as needed for the topology of the network.
IP routing is also common in local networks. For example, many Ethernet switches support IP multicast operations. These switches use IP addresses and Internet Group Management Protocol to control multicast routing but use
MAC addresses for the actual routing.

Link capacity and capability

The dynamic nature of the Internet and the diversity of its components provide no guarantee that any particular path is actually capable of, or suitable for, performing the data transmission requested, even if the path is available and reliable. One of the technical constraints is the size of data packets allowed on a given link. An application must assure that it uses proper transmission characteristics. Some of this responsibility lies also in the upper layer protocols. Facilities exist to examine the maximum transmission unit(MTU) size of the local link and Path MTU Discovery can be used for the entire projected path the destination. The IPv4 internetworking layer has the capability to automatically fragment the original datagram into smaller units for transmission. In this case, IP provides re-ordering of fragments delivered out of order.

The Transmission Control Protocol (TCP) is an example of a protocol that adjusts its segment size to be smaller than the MTU. The User Datagram Protocol (UDP) and the Internet Control Message Protocol (ICMP) disregard MTU size, thereby forcing IP to fragment oversized datagrams.

From: https://en.wikipedia.org/wiki/Internet_Protocol


'Computer Science > Terminology' 카테고리의 다른 글

User Datagram Protocol (UDP)  (0) 2018.03.30
Transmission Control Protocol (TCP)  (0) 2018.03.30
Protocol  (0) 2018.03.30
Packet  (0) 2018.03.30
Security in the Internet of Things  (0) 2018.03.30

+ Recent posts