The document discusses protocol architecture, TCP/IP, and internet-based applications. It covers:
1. The need for protocol architecture to break communication tasks into modular subtasks and arrange them in a vertical stack to allow for independent development and changes.
2. Key features of protocols including syntax, semantics, and timing to allow peer layers to communicate.
3. TCP/IP as the dominant protocol suite used on the internet, comprising a collection of protocols developed on ARPANET.
4. The layers of the TCP/IP protocol stack including physical, network access, internet, and host-to-host layers with example protocols like IP, TCP, and UDP.
These slides cover a topic on ISDN (Integrated Services Digital Network) in Data Communication. All the slides are explained in a very simple manner. It is useful for engineering students & also for the candidates who want to master data communication & computer networking.
Many Networking Software are structured into layers in the same way, TCP/IP is modelled in layers. This layered representation represents the term protocol stack, which refers to the stacked set of rules in the protocol suite. Copy the link given below and paste it in new browser window to get more information on TCP IP Model:- www.transtutors.com/homework-help/computer-science/tcp-ip-model.aspx
These slides cover a topic on ISDN (Integrated Services Digital Network) in Data Communication. All the slides are explained in a very simple manner. It is useful for engineering students & also for the candidates who want to master data communication & computer networking.
Many Networking Software are structured into layers in the same way, TCP/IP is modelled in layers. This layered representation represents the term protocol stack, which refers to the stacked set of rules in the protocol suite. Copy the link given below and paste it in new browser window to get more information on TCP IP Model:- www.transtutors.com/homework-help/computer-science/tcp-ip-model.aspx
TCP/IP have 5 layers, whereas OSI model have 7 layers in its Model. TCP/IP is known for the secured connection and comunication. I have explained all functions and definitions of layers in TCP/IP Model
Although the OSI reference model is universally recognized, the historical and technical open standard of the Internet is Transmission Control Protocol / Internet Protocol (TCP/IP).
The TCP/IP reference model and the TCP/IP protocol stack make data communication possible between any two computers, anywhere in the world, at nearly the speed of light.
Universal mobile telecommunication System (UMTS) is actually the third generation mobile, which uses WCDMA. The Dream was that 2G and 2.5G systems are incompatible around the world.
-Worldwide devices need to have multiple technologies inside of them, i.e. tri-band phones, dual-mode phones
To develop a single standard that would be accepted around the world.
-One device should be able to work anywhere.
Increased data rate.
- Maximum 2048Kbps
UMTS is developed by 3GPP (3 Generation Partnership Project) a joint venture of several organization
3G UMTS is a third-generation (3G): broadband, packet-based transmission of text, digitized voice, video, multimedia at data rates up to 2 Mbps
Also referred to as wideband code division multiple access(WCDMA)
Allows many more applications to be introduce to a worldwide
Also provide new services like alternative billing methods or calling plans.
The higher bandwidth also enables video conferencing or IPTV.
Once UMTS is fully available, computer and phone users can be constantly attached to the Internet wherever they travel and, as they roam, will have the same set of capabilities.
TCP/IP have 5 layers, whereas OSI model have 7 layers in its Model. TCP/IP is known for the secured connection and comunication. I have explained all functions and definitions of layers in TCP/IP Model
Although the OSI reference model is universally recognized, the historical and technical open standard of the Internet is Transmission Control Protocol / Internet Protocol (TCP/IP).
The TCP/IP reference model and the TCP/IP protocol stack make data communication possible between any two computers, anywhere in the world, at nearly the speed of light.
Universal mobile telecommunication System (UMTS) is actually the third generation mobile, which uses WCDMA. The Dream was that 2G and 2.5G systems are incompatible around the world.
-Worldwide devices need to have multiple technologies inside of them, i.e. tri-band phones, dual-mode phones
To develop a single standard that would be accepted around the world.
-One device should be able to work anywhere.
Increased data rate.
- Maximum 2048Kbps
UMTS is developed by 3GPP (3 Generation Partnership Project) a joint venture of several organization
3G UMTS is a third-generation (3G): broadband, packet-based transmission of text, digitized voice, video, multimedia at data rates up to 2 Mbps
Also referred to as wideband code division multiple access(WCDMA)
Allows many more applications to be introduce to a worldwide
Also provide new services like alternative billing methods or calling plans.
The higher bandwidth also enables video conferencing or IPTV.
Once UMTS is fully available, computer and phone users can be constantly attached to the Internet wherever they travel and, as they roam, will have the same set of capabilities.
Internet Technology Lectures
network protocols, TCP/IP Model
Lecturer: Saman M. Almufti / Kurdistan Region, Nawroz University
facebook: https://www.facebook.com/saman.malmufti
YouTube Link:https://youtu.be/JgbAWAc0fDs
02-ProtocolArchitecture william stellings.pptstriker78669
Data and Computer Communications" by William Stallings is a comprehensive textbook that covers a wide range of topics related to data communications and networking. It is considered a foundational resource for students, professionals, and researchers in the field of computer science and telecommunications.
The book provides an in-depth exploration of data transmission techniques, network protocols, network architectures, and various communication technologies. It begins with an introduction to data communications and networking concepts, including the OSI (Open Systems Interconnection) model, data transmission modes, and multiplexing techniques.
Subsequent chapters delve into topics such as data link layer protocols, error detection and correction mechanisms, medium access control methods, and routing algorithms. The book also covers network layer protocols, including IP (Internet Protocol), IPv6, and routing protocols like OSPF (Open Shortest Path First) and BGP (Border Gateway Protocol).
Furthermore, it explores transport layer protocols, such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol), and application layer protocols, including HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), and SMTP (Simple Mail Transfer Protocol).
The book also discusses network security, wireless communications, and emerging technologies like software-defined networking (SDN) and network virtualization. Each chapter includes illustrative examples, diagrams, and exercises to reinforce the understanding of the concepts presented.
Overall, "Data and Computer Communications" by William Stallings provides a comprehensive and well-structured resource for anyone seeking to gain a thorough understanding of data communications and networking principles and technologies.William Stallings is a renowned author in the field of computer science and information technology. His book "Data and Computer Communications" is a comprehensive resource for understanding the principles and practices of data communication and networking.
You can find more information about William Stallings and his book "Data and Computer Communications" on his official website: https://www.williamstallings.com/
You can also purchase the book on Amazon: https://www.amazon.com/Data-Computer-Communications-William-Stallings/dp/0133506487
If you have any specific questions or need help with a particular code related to data and computer communications, please provide more details so I can assist you accordingly.
This slide is design for communication and computer students. students can get help from this slide about TCP/IP and protocols of internet. this slide has basic knowledge about TCP and its layers.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
02 protocol architecture
1. Data and Computer
Communications
Chapter 2 – Protocol Architecture,
TCP/IP, and Internet-Based
Applications
Ninth Edition
by William Stallings
Data and Computer Communications, Ninth
Edition by William Stallings, (c) Pearson
Education - Prentice Hall, 2011
2. Protocol Architecture,
TCP/IP, and Internet-Based
Applications
To destroy communication completely,
there must be no rules in common
between transmitter and receiver—neither
of alphabet nor of syntax.
—On Human
Communication,
Colin Cherry
3. The Need For Protocol
Architecture
1.) the source must
2.) the source must make
activate communications
sure that destination is
path or inform network of
prepared to receive data
destination
To transfer data
several tasks
must be
performed:
3.) the file transfer
application on source must 4.) a format translation
confirm file management function may need to be
program at destination is performed if the formats
prepared to accept and on systems are different
store file
4. Functions of Protocol
Architecture
breaks logic into subtask modules which
are implemented separately
modules are arranged in a vertical stack
• each layer in the stack performs a
subset of functions
• relies on next lower layer for primitive
functions
• changes in one layer should not require
changes in other layers
5. Key Features of a Protocol
A protocol is a set of rules or conventions
that allow peer layers to communicate.
The key features of a protocol are:
• format of data
Syntax blocks
• control information
Semantics for coordination
and error handling
• speed matching
Timing and sequencing
6. A Simple Protocol
agents involved:
examples of
• applications applications include
• computers file transfer and
• networks electronic mail
these execute on
computers that
support multiple
simultaneous
applications
7. Communication Layers
communication tasks are organized into
three relatively independent layers:
• Network access layer
• concerned with the exchange of data
• Transport layer
• provides reliable data transfer
• Application layer
• Contains logic to support applications
8. Network Access Layer
covers the exchange of data between an
end system and the network that it is
attached to
concerned with issues like :
destination address provision
invoking specific services like priority
access to & routing data across a network for
two end systems attached to the same
network
9. Transport Layer
concerned with essentially
providing independent of
reliable delivery the nature of
of data the applications
common layer
shared by all
applications
10. Application Layer
contains the logic separate module
needed to is needed for
support user each type of
applications application
14. Protocol Data Unit (PDU)
the combination of data and control
information is a protocol data unit (PDU)
typically control information is contained in
a PDU header
control information is used by the peer
transport protocol at computer B
headers may include:
source port, destination port, sequence
number, and error-detection code
15. Network Access Protocol
afterreceiving segment from transport
layer, the network access protocol must
request transmission over the network
the network access protocol creates a
network access PDU (packet) with control
information
header includes:
source computer address
destination computer address
facilities requests
16. TCP/IP Protocol Architecture
TCP/IP
Result of
comprises a
protocol
Referred to large
research and
as TCP/IP collection of
development
protocol suite protocols that
conducted on
are Internet
ARPANET
standards
18. Physical Layer
coversthe physical interface between
computer and network
concerned with issues like:
characteristics of transmission medium
nature of the signals
data rates
19. Network Access Layer
covers the exchange of data between an
end system and the network that it is
attached to
concerned with issues like :
destination address provision
invoking specific services like priority
access to & routing data across a network for
two end systems attached to the same
network
20. Internet Layer
implements procedures
needed to allow data to
travel across multiple
interconnected networks
uses the Internet Protocol
(IP) to provide routing
function
implemented in end
systems and routers
21. Host-to-Host (Transport) Layer
• concerned with • most commonly
providing reliable used protocol is
delivery of data • common layer the Transmission
shared by all Control Protocol
applications (TCP)
25. Transmission Control Protocol
(TCP)
TCP is the transport layer protocol for most
applications
TCP provides a reliable connection for transfer
of data between applications
A TCP segment is the basic protocol unit
TCP tracks segments between entities for
duration of each connection
26.
27. User Datagram Protocol
(UDP)
alternative to TCP
does not guarantee delivery, preservation
of sequence, or protection against
duplication
adds port addressing capability to IP
used with Simple Network Management
Protocol (SNMP)
29. IPv6
Provides enhancements over existing IP
Designed to accommodate higher speeds
and the mix of graphic and video data
Driving force was the need for more
addresses due to growth of the Internet
IPv6 includes 128-bit source and
destination address fields
34. OSI Standardization
framework for standardization was
motivator
lower layers are concerned with greater
levels of details
each layer provides services to the next
higher layer
three key elements:
Protocol Service
Addressing
specification definition
35. Primitive Types
REQUEST A primitive issued by a service user to invoke some
service and to pass the parameters needed to specify
fully the requested service
INDICATION A primitive issued by a service provider either to:
indicate that a procedure has been invoked by the peer
service user on the connection and to provide the
associated parameters, or
notify the service user of a provider-initiated action
RESPONSE A primitive issued by a service user to acknowledge or
complete some procedure previously invoked by an
indication to that user
CONFIRM A primitive issued by a service provider to acknowledge
or complete some procedure previously invoked by a
request by the service user
36. Service Primitives and
Parameters
defineservices
between adjacent
layers using:
to
specify function
performed
to
pass data and
control information
39. Multimedia Terminology
audio generally encompasses sounds that are
produced by a human, telephony and related
voice communications technology
image supports the communication of individual
pictures, charts, or drawings
video service carries sequences of pictures in
time
text is information that can be entered via a
keyboard and is directly readable and printable
40. Multimedia Applications
Multimedia information Multimedia
systems communication systems
• databases, information kiosks, • computer-supported collaborative
hypertexts, electronic books, and work, videoconferencing,
multimedia expert systems streaming media, and multimedia
teleservices
Multimedia entertainment Multimedia business
systems systems
• 3D computer games, multiplayer • immersive electronic commerce,
network games, infotainment, and marketing, multimedia
interactive audiovisual productions presentations, video brochures,
virtual shopping
Multimedia educational
systems
• electronic books, flexible teaching
materials, simulation systems,
automatic testing, distance learning
44. Summary
needs and key elements for protocol
architecture
TCP/IP protocol architecture
OSI Model & protocol architecture
standardization
traditional versus multimedia application
needs
Editor's Notes
It is clear that there must be a high degree of cooperation between the two computer systems. Instead of implementing the logic for this as a single module, the task is broken up into subtasks, each of which is implemented separately. In a protocol architecture, the modules are arranged in a vertical stack. Each layer in the stack performs a related subset of the functions required to communicate with another system. It relies on the next lower layer to perform more primitive functions and to conceal the details of those functions. It provides services to the next higher layer. Ideally, layers should be defined so that changes in one layer do not require changes in other layers. Of course, it takes two to communicate, so the same set of layered functions must exist in two systems. Communication is achieved by having the corresponding, or peer, layers in two systems communicate. The peer layers communicate by means of formatted blocks of data that obey a set of rules or conventions known as a protocol.
Stallings DCC9eFigure 2.1 indicates that modules at the same level (peers) on different computers communicate with each other by means of a protocol. An application entity (e.g., a file transfer application) in one computer communicates with an application in another computer via an application-level protocol (e.g., the File Transfer Protocol). The interchange is not direct (indicated by the dashed line) but is mediated by a transport protocol that handles many of the details of transferring data between two computers. The transport protocol is also not direct, but relies on a network-level protocol to achieve network access and to route data through the network to the destination system. At each level, the cooperating peer entities focus on what they need to communicate to each other.
Let us trace a simple operation. Suppose that an application, associated with port 1 at computer A, wishes to send a message to another application, associated with port 2 at computer B. The application at A hands the message over to its transport layer with instructions to send it to port 2 on computer B. The transport layer hands the message over to the network access layer, which instructs the network to send the message to computer B. Note that the network need not be told the identity of the destination port. All that it needs to know is that the data are intended for computer B. To control this operation, control information, as well as user data, must be transmitted, as suggested in Stallings DCC9e Figure 2.2. Let us say that the sending application generates a block of data and passes this to the transport layer. The transport layer may break this block into two smaller pieces for convenience, as discussed subsequently. To each of these pieces the transport layer appends a transport header, containing protocol control information. The addition of control information to data is referred to as encapsulation.
For successful communication, every entity in the overall system must have a unique address. In our three-layer model, two levels of addressing are needed. Each computer on the network has a unique network address; this allows the network to deliver data to the proper computer. Each application on a computer has an address that is unique within that computer; this allows the transport layer to support multiple applications at each computer. These latter addresses are known as service access points (SAPs), or ports, connoting the fact that each application is individually accessing the services of the transport layer.
The combination of data from the next higher layer and control information is known as a protocol data unit (PDU). Typically, the control information is contained in a PDU header; some data link layer PDUs include a trailer as well. In this case, the PDU is referred to as a transport PDU. Transport PDUs are typically called segments. The header in each segment contains control information to be used by the peer transport protocol at computer B. Examples of items that may be stored in this header include the following: Source port: This indicates that application that sent the data.Destination port: When the destination transport layer receives the segment, it must know to which application the data are to be delivered.Sequence number: Because the transport protocol is sending a sequence of segments, it numbers them sequentially so that if they arrive out of order, the destination transport entity may reorder them.Error-detection code: The sending transport entity may include a code that is a function of the contents of the segment. The receiving transport protocol performs the same calculation and compares the result with the incoming code. A discrepancy results if there has been some error in transmission. In that case, the receiver can discard the segment and take corrective action. This code is also referred to as a checksum or frame check sequence.
The next step is for the transport layer to hand each segment over to the network layer, with instructions to transmit it to the destination computer. To satisfy this request, the network access protocol must present the data to the network with a request for transmission. As before, this operation requires the use of control information. In this case, the network access protocol appends a network access header to the data it receives from the transport layer, creating a network access PDU, typically called a packet. Examples of the items that may be stored in the header include the following: Source computer address: Indicates the source of this packet.Destination computer address: The network must know to which computer on the network the data are to be delivered.Facilities requests: The network access protocol might want the network to make use of certain facilities, such as priority. Note that the transport header is not "visible" at the network access layer; the network access layer is not concerned with the contents of the transport segment. The network accepts the network packet from A and delivers it to B. The network access module in B receives the packet, strips off the packet header, and transfers the enclosed transport segment to B's transport layer module. The transport layer examines the segment header and, on the basis of the port field in the header, delivers the enclosed record to the appropriate application, in this case the file transfer module in B.
The TCP/IP LayersIn general terms, computer communications can be said to involve three agents: applications, computers, and networks. Examples of applications include file transfer and electronic mail. The applications that we are concerned with here are distributed applications that involve the exchange of data between two computer systems. These applications, and others, execute on computers that can often support multiple simultaneous applications. Computers are connected to networks, and the data to be exchanged are transferred by the network from one computer to another. Thus, the transfer of data from one application to another involves first getting the data to the computer in which the application resides and then getting the data to the intended application within the computer. With these concepts in mind, we can organize the communication task into five relatively independent layers (Stallings DCC9e Figure 2.3): Physical layerNetwork access layerInternet layerHost-to-host, or transport layerApplication layer
For successful communication, every entity in the overall system must have a unique address. Actually, two levels of addressing are needed. Each host on a subnetwork must have a unique global internet address; this allows the data to be delivered to the proper host. Each process with a host must have an address that is unique within the host; this allows the host-to-host protocol (TCP) to deliver data to the proper process. These latter addresses are known as ports.
IP and IPv6For decades, the keystone of the TCP/IP protocol architecture has been IPv4, generally referred to simply as IP. Stallings DCC9e Figure 2.7a shows the IP header format, which is a minimum of 20 octets, or 160 bits. The header, together with the segment from the transport layer, forms an IP-level PDU referred to as an IP datagram or an IP packet. The header includes 32-bit source and destination addresses. The Header Checksum field is used to detect errors in the header to avoid misdelivery. The Protocol field indicates which higher-layer protocol is using IP. The ID, Flags, and Fragment Offset fields are used in the fragmentation and reassembly process. Chapter 18 provides more detail. In 1995, the Internet Engineering Task Force (IETF), which develops protocol standards for the Internet, issued a specification for a next-generation IP, known then as IPng. This specification was turned into a standard in 1996 known as IPv6. IPv6 provides a number of functional enhancements over the existing IP, designed to accommodate the higher speeds of today's networks and the mix of data streams, including graphic and video, that are becoming more prevalent. But the driving force behind the development of the new protocol was the need for more addresses. IPv4 uses a 32-bit address to specify a source or destination. With the explosive growth of the Internet and of private networks attached to the Internet, this address length became insufficient to accommodate all systems needing addresses
In addition, the design principle of information hiding is used: Lower layers are concerned with greater levels of detail; upper layers are independent of these details. Each layer provides services to the next higher layer and implements a protocol to the peer layer in other systems.Three elements are key: Protocol specification: Two entities at the same layer in different systems cooperate and interact by means of a protocol. Because two different open systems are involved, the protocol must be specified precisely. This includes the format of the protocol data units exchanged, the semantics of all fields, and the allowable sequence of PDUs.Service definition: In addition to the protocol or protocols that operate at a given layer, standards are needed for the services that each layer provides to the next higher layer. Typically, the definition of services is equivalent to a functional description that defines what services are provided, but not how the services are to be provided.Addressing: Each layer provides services to entities at the next higher layer. These entities are referenced by means of a port, or service access point (SAP). Thus, a network service access point (NSAP) indicates a transport entity that is a user of the network service. The need to provide a precise protocol specification for open systems is self-evident. The other two items listed warrant further comment. With respect to service definitions, the motivation for providing only a functional definition is as follows. First, the interaction between two adjacent layers takes place within the confines of a single open system and is not the concern of any other open system. Thus, as long as peer layers in different systems provide the same services to their next higher layers, the details of how the services are provided may differ from one system to another without loss of interoperability. Second, it will usually be the case that adjacent layers are implemented on the same processor. In that case, we would like to leave the system programmer free to exploit the hardware and operating system to provide an interface that is as efficient as possible. With respect to addressing, the use of an address mechanism at each layer, implemented as a service access point, allows each layer to multiplex multiple users from the next higher layer. Multiplexing may not occur at each layer, but the model allows for that possibility.
A number of applications have been standardized to operate on top of TCP. We mention three of the most common here. The Simple Mail Transfer Protocol (SMTP) provides a basic electronic mail transport facility. It provides a mechanism for transferring messages among separate hosts. Features of SMTP include mailing lists, return receipts, and forwarding. The SMTP protocol does not specify the way in which messages are to be created; some local editing or native electronic mail facility is required. Once a message is created, SMTP accepts the message and makes use of TCP to send it to an SMTP module on another host. The target SMTP module will make use of a local electronic mail package to store the incoming message in a user's mailbox. The File Transfer Protocol (FTP) is used to send files from one system to another under user command. Both text and binary files are accommodated, and the protocol provides features for controlling user access. When a user wishes to engage in file transfer, FTP sets up a TCP connection to the target system for the exchange of control messages. This connection allows user ID and password to be transmitted and allows the user to specify the file and file actions desired. Once a file transfer is approved, a second TCP connection is set up for the data transfer. The file is transferred over the data connection, without the overhead of any headers or control information at the application level. When the transfer is complete, the control connection is used to signal the completion and to accept new file transfer commands.SSH (Secure Shell) provides a secure remote logon capability, which enables a user at a terminal or personal computer to logon to a remote computer and function as if directly connected to that computer. SSH also supports file transfer between the local host and a remote server. SSH enables the user and the remote server to authenticate each other; it also encrypts all traffic in both directions. SSH traffic is carried on a TCP connection.
[GONZ00] lists the following multimedia application domains: Multimedia information systems: Databases, information kiosks, hypertexts, electronic books, and multimedia expert systemsMultimedia communication systems: Computer-supported collaborative work, videoconferencing, streaming media, and multimedia teleservicesMultimedia entertainment systems: 3D computer games, multiplayer network games, infotainment, and interactive audiovisual productionsMultimedia business systems: Immersive electronic commerce, marketing, multimedia presentations, video brochures, virtual shopping, and so on.Multimedia educational systems: Electronic books, flexible teaching materials, simulation systems, automatic testing, distance learning, and so on.
The Internet, until recently, has been dominated by information retrieval applications, e-mail, and file transfer, plus Web interfaces that emphasized text and images. Increasingly, the Internet is being used for multimedia applications that involve massive amounts of data for visualization and support of real-time interactivity. Streaming audio and video are perhaps the best known of such applications. An example of an interactive application is a virtual training environment involving distributed simulations and real-time user interaction [VIN98]. Some other examples are shown in Stallings DCC9e Table 2.3.